FlappyBird设计

移动

经多次观察flappy bird游戏后得出:

  1. 有一个固定的重力,但下降有最大速度
  2. 点击屏幕把Y速度变成一个向上的固定速度,不叠加
  3. 飞到最高点时,把Y速度变成0
  4. 地图固定速度向左移动,鸟的X坐标固定

碰撞检测

鹄羹(鸟)

加一些碰撞检查点,手动摆的。


与管道碰撞

取管道这5个顶点,使用 GameUtils.isInPolygon(ptlist,pt) 方法, 循环检测鸟的碰撞检查点。

(大致是这样,其实没这么短)


与得分道具碰撞

循环检测鸟的碰撞检查点,判断检查点与这圆心的距离是否小于半径。


优化

在鹄羹(鸟)横坐标有重合的物体才检测碰撞


管道地图拼接

前提:地图要给策划配好

  1. 策划配地图块
  2. 每一块地图块的右边缘距离屏幕个中心点一定距离(正数)时,开始加载下一张地图,并重置管道位置,重置加分道具。
  3. 每一块地图块的右边缘距离屏幕个中心点一定距离(负数)时,隐藏这一张地图
  4. 同一个地图块不能连续出现

其他

  1. 使用 UpdateBeat,调用lua的update去每帧处理事件。