如果要在画布上制作简单游戏,可以使用以下选项卡(类):
的 MainThread 强> - 这个类以60 fps更新画布(比方说),它调用 update() 和 draw(Canvas canvas) 在里面 GamePanel 类。
update()
draw(Canvas canvas)
GamePanel
的 的GamePanel 强> - 这个班有一个 GameplayScene 场, GameplayScene instance是当前正在画布上显示的场景。在里面 GamePanel class,你有(至少)两种方法: update() 和 draw(Canvas canvas) ,调用相同的方法 GameplayScene 实例。
GameplayScene
的 GameplayScene 强> - 你可以把它变成一个接口,所以你可以有多个类来实现它。你也可以只有一个 GameplayScene ,它不一定是一个接口。
你可以有多个实现的类 GameplayScene ,所以你有多个场景,例如,商品商店,主菜单或关卡。
在每个场景中,你再次拥有 update() 和 draw(Canvas canvas) 方法,在实例中调用相同的方法 GameObject 。场景类负责跟踪玩家的分数,玩家何时死亡,或者当玩家死亡时游戏重新开始。
GameObject
的 游戏对象 强> - 我会把它变成一个接口,所以你可以有多个对象实现接口。
游戏对象可以是玩家,障碍物,按钮,敌人,画布上的任何东西。
在游戏对象中 update() 方法,您(例如)根据某些计算设置对象的位置,或者测试敌人是否与玩家发生碰撞。 在游戏对象中 draw(Canvas canvas) 方法,你唯一要做的就是将对象绘制到 canvas 。你在做计算 update() 方法。
canvas