在iOS / android上用于动画像塔防的2D游戏的方法

时间:2012-09-12 14:16:45

标签: java android ios animation graphics

如果我打算在iOS或Android上制作像塔防的游戏,我是否需要广泛使用OpenGL ES?或者我只使用纹理而不使用其他功能,如几何变换,闪电,绘制原始形状等? 其次,如果我只使用精灵表来为游戏制作动画,我可以坚持使用原生平台提供的库而不使用OpenGL ES吗?例如,在iOS上,使用UIImageView类动画方法来执行动画。

1 个答案:

答案 0 :(得分:3)

这是一个非常复杂的问题,你几乎无法得到确凿的答案。

简而言之:根本不需要触摸OpenGL来进行游戏。

您描述的每种方法都有效,但有各种优点和缺点。 Android上内置框架的简短说明:

  1. 使用标准视图(如FrameLayouts):框架可以完成大部分工作(动画,z排序......),但是你会经常遇到奇怪的布局错误和惊人的性能命中。这是因为您基本上正在浏览游戏的UI框架。但是,对于一个非常简单的游戏,它可能是正确的做法。

  2. 使用Canvas绘画:Android包含一个优秀且相当快速的2D图形库。您可以将它用于游戏,它将为许多游戏提供足够的性能。但是,你必须自己做更多的事情(例如,z排序,动画)并且仍然不可能有一些高端效果

  3. OpenGL ES:最佳性能,多数选择。祝你好运,从头开始,在你得到屏幕上最简单的东西之前,还有 A LOT 。另一方面,你可以做其他方法几乎不可能完成的事情。此外,可以为多个平台重用部分代码。

  4. Renderscript:根据我的经验,比直接使用OpenGL更糟糕的是,学习曲线更加陡峭。

  5. 简而言之,首先设计游戏,然后决定哪个框架提供足够的功能,而不是太复杂。

    最后:想想自己完成所有管道工作,但要看一下现有的游戏引擎(例如Unity)。几乎所有你需要的东西都会在那里;此外,其中一些引擎甚至可以跨平台工作:编写一次游戏,在iOS上发布 AND Android!