- 前言
- 解决方案
做一个跑酷游戏,用的Animation,至于为什么没用Animator,因为忘了。。。
涉及到动画的暂停和恢复,需要用animation[CurrentPlayingAnimationName(当前动画名称)].speed = 1;和animation[CurrentPlayingAnimationName(当前动画名称)].speed = 0;来控制动画的启动和暂停,所以就需要用到当前播放动画的名称。
animation变量为当前的动画组件
////// 动画组件 /// private Animation animation; ////// 获取当前动画名称 /// private string CurrentPlayingAnimation { get { //如果动画正在播放 if (this.animation.isPlaying) //遍历动画列表 foreach (AnimationState item in this.animation) //如果正在这个动画正在播放,则返回 if (this.animation.IsPlaying(item.name)) return item.name; return null; } }
使用方法
//暂停当前动画 animation[CurrentPlayingAnimation].speed = 0; //继续当前动画 animation[CurrentPlayingAnimation].speed = 1;
参考链接: https://answers.unity.com/questions/444500/how-to-get-current-animation-name.html



