适用于Android 2D游戏的Canvas或OpenGL ES2?

时间:2013-10-19 12:41:49

标签: android opengl-es

好的,所以我对游戏有了这个想法。我已经知道如何为Android开发,所以我首先要为Android开发。

游戏(没有透露太多:D)将始终在屏幕上显示单一形状。它必须平滑地改变形状,颜色等,以响应屏幕上的几个旋钮/滑块。

由于我们没有多个形状/对象,我现在不需要任何形式的物理引擎。我需要能够毫不费力地绘制多边形和过渡颜色/渐变。我的目标是这个游戏的高FPS(想想PewPew / 2Fuse!)

我需要OpenGL吗?如果是这样,我在哪里可以学到它? (我知道OpenGL很难,而且学习起来很耗时。)

2 个答案:

答案 0 :(得分:4)

我只能提供一些观点。对游戏进行编程很大程度上是将艺术资产从创建它们的程序(3D建模程序,Photoshop,Gimp,...)转移到您自己的程序中。因此,选择OpenGL或Canvas在某种程度上取决于资产的性质(例如3D模型或位图)。但是,您应该知道,在现代Android设备上,OpenGL ES支持是通用的,而在这些设备上,Canvas是使用OpenGL ES实现的。因此,选择OpenGL ES可以消除一个间接层。你也有像Cocos2D这样的库提供2D API,但是使用OpenGL来实现。总而言之,没有顶级的艺术资产,你的游戏就无法成功,如果这些都很好,即使是使用Canvas的游戏也可能成功。

编辑:我认为你应该这样做:

游戏设计 - >实施游戏设计的资产 - > API提供了游戏中资产再现的最短途径

答案 1 :(得分:1)

如果您的资产是基于多边形的(正如您在评论中提到的那样),那么您应该使用OpenGL ES 2.0。 OpenGL ES 2.0非常容易学习,但是在学习它的过程中,你将获得一些有市场的技能和经验,并且你可以为程序员做出非常“炫耀”的工作。请耐心等待,并尝试了解它是如何工作的,而不仅仅是“通过它。”

开始学习的好地方是tutorial like this one.