游戏中和用户有交互操作有拖动飞机和弹框中的按钮,总体是一个很简单的小游戏,实现过程也并不复杂。 官方demo中最核心的动画内容就在loop方法里,使用的是帧动画( requestAnimationFrame )来实现界面动画。 针对游戏实现动画效果主要有两种方式,一种就是requestAnimationFrame帧动画,一种是用定时器实现。 帧动画和设备的处理速度有关系,默认1秒60帧,但是在手机设备里即便很简单的动画,性能差点的设备可能帧率都只有20-30左右。 因为帧动画每秒就要调用n次,也许并不需要那么高频率的函数调用,而定时器总的来说对时间的把控和函数调用次数更准确。 比如这个飞机游戏里如果有血条的概念,血条的加减其实可以用单独的定时器来控制。 一个游戏里可以两种方式都使用,根据应用场景选择更合理的方式。
|