在游戏循环中更改自定义动画

时间:2016-03-02 21:52:54

标签: android

我想到了三种或更多种方法来实现我想要的,所以我想知道最好的方法来做到这一点

我有一个自定义游戏循环,我希望有多个"动画" (更新游戏物理和渲染到SurfaceView上的画布,从一个GameState到另一个不同)

所以我可以稍微增强我的游戏循环,并根据对象的变量gameState或内部的开关使其经历多个while循环 (在这种情况下,我将一直使用相同的Activity和SurfaceView)

或者我可以在删除整个SurfaceView之间切换游戏状态(让我们从父FrameLayout中说出来)并每次创建一个新的, (这样我会有相同的活动,例如,每当你输掉比赛时改变视图)

或者我可以为每个GameState改变整个活动,,,,

(有一些明显的差异,比如活动和自定义转换之间的转换,第一种方式)

你能不能给我一些想法,哪种方式最好?

1 个答案:

答案 0 :(得分:3)

如果您尝试通过删除和创建新的SurfaceView来重构应用UI,那么您将至少看到一个口吃。在活动之间切换会让您在转换过程中获得任何您想要的控制权,并且无​​法将您的游戏移植到任何其他平台。我说最好的方法就是在你的onDraw中切换一个根据游戏状态而改变的。