Unity虚拟按键持续按钮实现

在一些ARPG游戏中,如果是发布到手机上面,需要通过虚拟按键的方式来释放技能。

直接举例子
Unity虚拟按键持续按钮实现_第1张图片
不同于释放一些大招,释放大招是需要一次一次点击并且是需要有冷却时间的,所以用不到持续按住。但是普通攻击却不同,如果当玩家点击着普通攻击不动,就应该让角色持续的播放响应的动画持续攻击,而不是每次的普通攻击都需要一次一次的点击。

具体实现方法:
Unity虚拟按键持续按钮实现_第2张图片
这个方法的实现需要Unity5.x版本以上才有。把Button下面的Transition的类型选择为Animation。
Unity虚拟按键持续按钮实现_第3张图片
直接点击我箭头指出来的地方,点击之后它会自动给你生成一个控制动画的Controller,然后打开这个Controller。
Unity虚拟按键持续按钮实现_第4张图片
点击这个Pressed之后
Unity虚拟按键持续按钮实现_第5张图片
我们需要在这里点击添加Add Behavior,一定要注意,在这里创建控制动画的脚本一定要在这里Add Behavior,如果是在文件里面Create C#文件的话,创建出来的脚本和这里添加的是不一样的,它们继承的父类都不一样,在文件里面创建脚本,继承的是MonoBehaviour,而在这里添加的继承的是StateMachineBehaviour
然后看脚本
Unity虚拟按键持续按钮实现_第6张图片
打开这个脚本后,它默认全部代码都是注释的,这里我们只需要打开OnStateUpdate这个方法就可以。
回到Unity里面测试
持续按键
我们回到Unity里面运行之后,点击着普通攻击那个按钮不松开,我们就可以达到我们想要的效果了。

具体需要持续点击的时候会发生什么事情,就在OnStateUpdate方法里面调用相应一些方法就行了。

你可能感兴趣的:(Unity学习笔记)