我将为 Android 创建一个简单的回合制 2D 游戏,据我所知,基本上有三种方法可以进行绘图。
- 使用“普通” View ,并且仅在需要时绘制(例如在触摸事件上)。
- 在单独的线程中使用 SurfaceView 和“游戏循环”,在每次循环迭代上进行绘制。
- OpenGL(我还不知道它是如何工作的)。
当我制作一个小型模拟游戏(《Farmville》)时,我使用了 SurfaceView,因为它使用了一些简单的动画,如果我使用“普通”View,我必须使用计时器以一定的时间间隔更新图形。我不知道这两种方法哪一种更好,但 SurfaceView 方法似乎更容易。另一方面,我认为使用无限“游戏循环”会很快耗尽电池电量。至于 OpenGL,我不知道它是如何工作的,也不知道它对于简单的游戏来说是否太复杂。
因此,如果我有一个简单的回合制游戏(有点像神奇宝贝的战斗部分),上述哪种方法最好?其他游戏使用什么(如 Angry Birds、DanteInferno、Inotia、Jewels、Robo Defense、Wisp、Zonina 等)?
我发现网络上的信息非常不清楚何时使用哪个。
最佳答案
我有一个简单的棋盘游戏,是一种回合制游戏,我使用了 SurfaceView,结果非常好。您可以优化 SurfaceView,但如果您使用标准 View ,您最终会遇到问题,特别是如果您有滚动游戏。
我使用过这篇文章,它非常有帮助,它有很多不同的方法来实现游戏循环,各有优缺点:http://www.koonsolo.com/news/dewitters-gameloop/ 这是一个很好的起点。
关于电池的耗尽 - 您可以使用 Thread.sleep() 这样它会持续更长时间。尚未对电池进行任何测试,但您必须面对游戏耗尽电池的事实,特别是如果您玩几个小时:)
关于android - 回合制游戏,哪种抽奖方式好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6981671/