昨晚在做游戏暂停的时候,明明暂停动画已经播放了,但是不出现效果,用animation.isPlaying()检测了一下居然为True,我伤心了,为啥已经为True了,不给我动画效果呢,代码如下:
Time.timeScale = 0;
upanel.animation.Play("AnimScore");
后来就去睡觉了,今早上迷迷糊糊的想是不是timescale为0的时候,也影响动画效果呢,马上去试了试,结果还真是。。。
接着去查了下timescale能够影响的范围
1、timescale时间缩放,可以用于减慢运动效果
2、当timeScale传递时间为0时游戏基本上暂停了,如果你的所有函数是和帧速率无关的。
3、除了realtimeSinceStartup,timeScale影响所有时间和增量时间基于Time类的变量。
(既然是和帧速率么有关系,那么就是说正常情况下Update里的代码timescale是不影响的,除非与Time类的变量扯上关系)
4、如果降低timeScale,建议也降低Time.fixedDeltaTime同样的数值。
5、当timescale设置为0时,FixedUpdate函数将不会被调用。
照这么个情况来看,Animation也是跟帧速率无关的吧