Unity实战篇:利用Easy Touch实现Moba游戏技能释放(一)
前言:
王者我已经一两个赛季没玩了,当年老夫可是。。。咳,跑题了,我现在一直在自学Unity,想要实现一下他的技能释放方式,仅为学习交流,如有侵权,请联系我删除。
想要实现的效果:
准备工作
- Easy Touch 5.x插件
- Unity 5. 6. 1 f
- 一定的Unity基础
- 一定的UGUI基础
- 一定的Easy Touch基础
<1> 控制人物移动的虚拟摇杆
https://blog.****.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里注册事件
效果图
在下一篇,我会把取消施法,和三个不同技能都实现。