开发日志5-20
The shortest answer is doing.
........... * * *...................... * * *....................................
1) 思考:
游戏做到现在,越来越具体了,这时候要避免陷入到细节的陷阱里面,“面向抽象编程,而不是面向实现编程”。
游戏人物被KO了,那么应该从游戏的场景树里面清除掉。
过程是这样的,人物被击中--->减少体力--->体力小于等于零--->死亡---->播放KO动画--->清除数据。注意,这里播放KO动画是需要时间的,如果在KO动画播放完毕之前,清除了数据,那么就会造成异常。在人物被KO之后向任务队列里面插入一个延迟执行的任务,希望在KO动画播放完之后开始执行。
结果:测试发现,人物在第二帧还没有执行完毕,就执行里这个延时任务。我怀疑这个任务没有被执行,就把延时值,设置的比较大,1000帧,之后才执行,测试结果是这个延时任务确实是可以延时执行的。这让人想到人物的KO动画间隔设置的比较慢,而这个长时间,延时的帧已经完成了,所以看上去,KO动画还没完成。
需要的结果是在动画执行期间,开始执行销毁函数。
但是每次运行的时候因为硬件条件,负载,帧频是不同的,而且发现随着帧频的不同,对游戏人物造成的伤害也是不相同的。