android - 回合制游戏,哪种抽奖方式好?

标签 android drawing 2d

我将为 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/

相关文章:

android - Expo 分离项目自定义字体在 Android 上不起作用

Android:OnActivityResult 中的 Intent 给出了错误的路径

android - 在 Junit 测试中调用 findViewById()

java - 分配 Image 对象会导致不绘制任何内容

ios - Objective-C 通过绘图裁剪图像

java - 在 Java 中加速 2D 图像*而不*干扰 JMenus

android - 我可以在 Android 设备上运行 Simulink 吗?

javascript - html5 Canvas strokeStyle?

java - 如何将 Html 行放在矩阵 2d java 上

java - 完整的垂直线字符 - ncurses 与 Java