转换Lunar Lander以使用Opengl

时间:2010-08-05 06:27:11

标签: android opengl-es canvas ondraw

我在Google提供的Lunar Lander演示之后对我的游戏建模,它使用Canvas和onDraw()方法,但我想通过使用Opengl获得更好的性能。

将它转换为Opengl需要多少工作?我可以用opengl的纹理方法替换ondraw方法吗?或者我是否必须完全重建游戏?

因为我已经实现了surfaceview,我以为我读过Opengl使用它的地方。

对不起,我是Opengl的新手。如果有人能指出我正确的方向,我会很感激!

我看了

http://nehe.gamedev.net/

http://blog.jayway.com/author/pererikbergman/

但这些都是3d,我希望实现一种绘制2D图形的方法。

1 个答案:

答案 0 :(得分:2)

在openGL中2D和3D之间没有区别:如果你可以在3D中绘制任何多边形,你可以绘制它们以便它们与屏幕对齐。

看看NeHe关于2D文本的教程。删除所有3D部分。更改代码以仅显示四边形,而不显示每个都有自己纹理的显示列表。尽可能地清理代码,应该剩下很少的行。添加一些代码以便能够旋转每个四边形。

我建议你不要尝试在嵌入式设备上进行开发(即使使用模拟器。它仍然非常痛苦)。

完成后,从演示中创建一个小型的openGL应用程序。您必须处理以下部分:窗口,输入和显示。

当你这样做时,你会发现移植Lunar Lander非常容易(我认为)