OpenGL - 使用或不使用?为什么 - iPhone应用程序开发

时间:2009-09-30 17:16:56

标签: iphone xcode opengl

我必须开发一个应用程序“像俄罗斯方块游戏一样的行为”。

我从未使用过“OpenGL”来开发iPhone应用程序。

应用程序是这样的

  • 红色/绿色/蓝色方框从顶部掉落
  • 红色+红色+红色=点数&盒子消失了
  • 同样的方式用户必须组合&获得积分
  • 有不同的等级。
  • 左侧有三个按钮,右侧有三个按钮。快速下降的底部

对于这种应用,我应该使用open GL还是NOT?

即。是否有可能开发整个应用程序与视图和&这是动画吗? 如果是,那么与open gl相比会更复杂吗?

使用开放式GL有什么好处? (我知道它给出了很好的2D,3d外观) (但这里我的问题意味着 - 容易编码?) (或者与objective-c相比,open gl更复杂?) (我只是问,因为我不知道)

4 个答案:

答案 0 :(得分:2)

从你问题的语气来看,你看起来很混淆OpenGL是什么,而不是Objective-C。

OpenGL是一个用C编程语言编写的库(简单来说),它擅长渲染形状(特别是3D形状)以便在屏幕上显示。它不会取代程序中的Objective-C,它只会帮助您绘制形状。如果不使用OpenGL,则需要在NSView(或子类)中编写某种绘制/渲染代码来渲染块。通过使用OpenGL,您将获得许多有用的C方法来绘制形状,否则您将不得不自己实现。除此之外,OpenGL还有数千小时的绘图优化,如果你使用它而不是试图自己实现形状渲染,你可以利用它。

话虽如此,OpenGL并非都是阳光和玫瑰。它的工作方式类似于状态机,并且对它的使用方式有自己的假设(就像任何API一样)。仅仅因为你知道C和Objective-C并不意味着使用OpenGL将是微不足道的。如果您从未编写过任何OpenGL代码,我建议您查看类似于Red Book的引用。

要记住的是,OpenGL本身并不是一种语言(忽略OpenGL着色语言)。它只是一组C函数,可以帮助您渲染图形。

答案 1 :(得分:2)

基本上你的选择是:

  • 使用OpenGL
  • 使用Quartz
  • 使用UIKit

OpenGL是一个相当复杂的野兽,但它是迄今为止从iPhone中挤出性能的最佳方式。但是你需要它来进行俄罗斯方块游戏吗?几乎可以肯定没有。

Quartz是Mac OS X和iPhone中用于绘制图像和执行图像效果的工具包。因为我来自其他语言的OpenGL背景,我发现Quartz奇怪且令人沮丧。但是,对于两者都不熟悉的人来说可能更容易。

你可以使用UIKit在这里做所有事情,它肯定比其他选项容易得多。主要的缺点是它比较慢,但再一次做类似俄罗斯方块的游戏根本不重要。

在你使用UIKit之前,我建议你查看类似Cocos 2D之类的内容,它会为你提供OpenGL的优势,而不必担心处理所有内部工作。

答案 2 :(得分:1)

你可能也想问一下http://iphonegamedev.stackexchange.com/,这是一款适用于iPhone游戏的全新Stack Overflow变体。

答案 3 :(得分:0)

学习和学习了解你的需要。

请浏览以下链接。

它包含您需要的所有资源的所有必要链接。

http://maniacdev.com/2009/04/8-great-resources-for-learning-iphone-opengl-es/

编辑:

正确阅读你的问题后(​​实际上是我的问题 - 通过r& d我找到了解决方案)。

我认为 - 你需要开发一个2d应用程序。

转到以下链接。 2d动画的最佳选择。

http://code.google.com/p/cocos2d-iphone/

如果您需要示例代码,请不要忘记访问以下链接。

http://monoclestudios.com/cocos2d_whitepaper.html