本节目标
上节只是把逻辑写好了,为了让游戏看起来更好看,我们需要将敌人的动画也加上去
实现
动画状态机
敌人的状态比较简单,只有站立、加Buff、攻击、受伤、死亡这五种状态
各状态之间的转换关系如下
站立 -> 加 Buff
通过 skill 触发,立刻执行
因为是从 Any State 出来的,所以不需要 Can Transtion To Self
站立 -> 攻击
通过 attack 触发,立刻执行
因为是从 Any State 出发,所以不用勾选 Can Transtion To Self
站立 -> 受伤
通过 hit 触发,立刻执行
因为是从 Any State 出发,所以不用勾选 Can Transtion To Self
站立 -> 死亡
通过 isDead = true 触发,立刻执行
因为是从 Any State 出发,所以不用勾选 Can Transtion To Self
加 Buff -> 站立
完整播放完一次动画后执行
攻击 -> 站立
完整播放完一次动画后执行
受伤到站立
完整播放完一次动画后执行
通过代码播放加 Buff 和攻击动画
如上图所示,当敌人回合开始的时候,会判断一下执行的目标,如果是自己的话就执行 skill,如果是目标的话就执行 attack
这里使用协程来播放动画,原因是敌人动画需要播放到 60% 的时候才能显示实际扣血或者加的buff效果。又学到了一个新的协程等待的办法
项目相关代码
代码仓库:https://gitee.com/nbda1121440/DreamOfTheKingdom.git
标签:动画,逻辑,38,Self,站立,播放,State,执行 From: https://www.cnblogs.com/hellozjf/p/18065890