我有几个基本问题要自己澄清,希望你能帮忙......
我正在开发一款游戏应用程序。它有游戏循环,每次迭代我画了大约200个精灵。绘制位图的最快方法是什么?目前我使用[UIImage drawAtPoint]
方法绘制精灵(精灵大小可以是16x16 ... 64x64),但有些东西告诉我,这不是最好的方法。据我了解,UIImage基于Quartz技术? cocos2d可以提供更好的性能吗?
我还考虑过使用OpenGL ES通过纹理对象重现绘图机制。
答案 0 :(得分:2)
如果您正在制作游戏,您可能希望避免使用Quartz / UIKit / CoreAnimation。它们的设计简单易用,但性能却很低。
Opengl是将精灵绘制到iPhone屏幕上的最快方法。 iOS中有两个版本的Opengl:OpenglES 1.1和OpenglES 2.0。如果您希望支持iphone 3G及更早版本,则需要独占使用1.1,或者能够确定正在运行的设备并即时切换版本。 Opengl非常快,但代价是相当陡峭的学习曲线以及许多您认为是样板代码的东西。
Cocos2d是一款基于Opengl构建的iOS游戏引擎。它旨在使opengl更容易使用(在许多其他事情中)。如果你正在制作游戏,我建议你使用cocos2d,因为他们已经完成了很多艰苦的工作。如果你不这样做,你将花99%的时间让opengl上班,而不是专注于游戏。
祝你好运! :)