HTML5 Canvas游戏之小蜜蜂
心得
- 画布游戏基本是像素操控,是一个 update -> clear -> draw -> wait 循环。
- 用面向对象系统管理显示单元和舞台。
- 用事件系统分离游戏逻辑。(特殊是的,在恰当的时机处理多个游戏对象的状态,如蜂群转向)
- 用最简单的数据结构表示和管理蜂群。
- 键盘输入处理,状态管理。(如何在每一帧锁定状态,如何使多键按下不冲突,如即开火又移动)
- 视觉残余。(运动中的对象,即使是一个点,也会变成一条线)
- 连续函数调用过滤。( throttle 处理选择有:1) 同步 2) 异步 )
- 让帧率在运行时可变。(优先使用 requestAnimationFrame 提升性能)
- 如何得到与帧率无关的速度。(变化的速度,与时间关联,计算每一帧的时间差)
- 尽量多利用画布的save、translate、rotate、restore方法。
点击试玩
下载
https://files.cnblogs.com/ambar/BeeGame.7z
https://github.com/ambar/Invader
@2011-10-09 试玩中是旧版。我重写了一遍,保存在 github 上了