您建议为iPhone构建2D平台游戏的框架是什么?我只需要在屏幕上移动资源并检测碰撞等.
我会想OpenGL.但也许Quartz 2D就足够了?或者还有其他我应该注意的事情吗?每个的优点和缺点是什么?我想OpenGL有一个更长的学习曲线,但这会带来性能的回报,对吧?
所以,我们刚刚购买了Iphone开发许可证,但我们正在寻找一些优秀的3D/2d opengl es游戏教程.
有谁知道这方面的任何好教程?
谢谢
-Techy
在业余时间,我喜欢用OpenGL ES在iPhone上玩游戏开发.我正在将一个小的2D侧卷轴演示放在一起,以获得乐趣,而且我对OpenGL相对较新,我希望得到一些更有经验的开发人员的建议.
所以这是我的问题:在模型空间中指定每个2D元素的顶点是否有意义,然后在每次绘制帧时将每个元素转换为它的最终视图空间?
例如,假设我有一组块(正方形)构成我的侧卷轴的地面.每个方块定义为:
const GLfloat squareVertices[] = {
-1.0, 1.0, -6.0, // Top left
-1.0, -1.0, -6.0, // Bottom left
1.0, -1.0, -6.0, // Bottom right
1.0, 1.0, -6.0 // Top right
}
Run Code Online (Sandbox Code Playgroud)
假设我需要将这些正方形中的10个作为下一帧的基础绘制在一起.对于当前场景中可见的每个方格,我应该这样做吗?
glPushMatrix();
{
glTranslatef(currentSquareX, currentSquareY, 0.0);
glVertexPointer(3, GL_FLOAT, 0, squareVertices);
glEnableClientState(GL_VERTEX_ARRAY);
// Do the drawing
}
glPopMatrix();
Run Code Online (Sandbox Code Playgroud)
在我看来,这样做对场景中的每个元素的2D,对于每一个帧,变得有点紧张,我会想象谁使用OpenGL比我更聪明的人可能有这样做的更好的方法.
这一切都这样说,我期待听到这个消息,我应该分析代码,看看任何瓶颈可能是:那些人,我说:我没有写此代码的任何然而,我只是在这个过程中把我的思绪缠绕在它周围,这样当我去写它时它会变得更顺畅.
关于剖析和优化的主题,我真的不想在这里过早地进行优化,我只是试图围绕如何设置2D场景并渲染它.就像我说的那样,我对OpenGL相对较新,我只是想了解事情是如何完成的.如果有人对更好的方法有任何建议,我很乐意听到你的想法.
请记住,我对3D不感兴趣,现在只是2D.谢谢!