Unity实战篇:利用Easy Touch实现Moba游戏技能释放(前言)

版权声明:转载请注明出处!不注明也无所谓,嘿嘿。 https://blog.csdn.net/qq_15020543/article/details/83038642

前言:

王者我已经一两个赛季没玩了,当年老夫可是。。。咳,跑题了,我现在一直在自学Unity,想要实现一下他的技能释放方式,仅为学习交流,如有侵权,请联系我删除。

想要实现的效果:

准备工作

<1> 控制人物移动的虚拟摇杆

https://blog.csdn.net/qq_15020543/article/details/83038775

<2>技能指示器(Slider)

在Hierarchy界面新建一个slider,并命名为Slider,并且在Canvas下新建空物体,并且命名为Skill,将slider拖入空物体作为其子物体,并且Reset一下。

之所以用slider是因为它很适合当技能指示器,因为它能相对便捷的改变自身的长度。

例如,我们可以给slider一个最小值,当某一技能按钮按下时,开启计时器,随着时间点增加,逐渐增加到最大值。(参考LOL维鲁斯Q技能(韦神牛逼!!!(声嘶力竭状)))

(里面的长度属性和值属性可以根据自己的需要来设置)

结构图如下

<3> 技能摇杆

新建JoyStick,并且命名为Skill1

由于我们目标物体设置的不同,所以我们不需要担心虚拟摇杆和技能同时按下发生冲突。

为技能摇杆绑定事件

新建一个脚本,获取Skill的引用

在开始时将Skill设置为隐藏,在需要时显示

 private void OnEnable()
        {
            skill.SetActive(false);
        }

编写公有函数作为事件函数

public void OnSkill1Down()
        {
            skill.SetActive(true);
        }
        public void OnSkill1Up()
        {
            skill.SetActive(false);

        }

将此脚本挂载到任意游戏物体身上(推荐人物),在Skill的Move Events里注册事件

效果图

在下面几篇,我会实现三个不同技能的不同施法方式。

猜你喜欢

转载自blog.csdn.net/qq_15020543/article/details/83038642