2012-04-19 76 views
2

我一直在使用Cocoa Touch一段时间,并且非常喜欢它。对于我的下一个游戏,我希望用户能够使用手指跟踪路线并让图像沿着该路径行进。此外,它将涉及碰撞检测,例如墙壁在这里。我已经看到在Core Animation中完成了碰撞检测,并且我知道CGPath()和类似的函数,这些函数可能会帮助我追踪图像的路径。所以我的问题是,为什么很多人使用Cocos2d时,整个框架的一半以上都有Cocoa Touch的重复代码。有没有我在这里失踪的性能问题?难道我不能制作像Flight Control这样的手指追踪游戏,它只涉及使用Cocoa Touch的墙壁碰撞检测。我真的很想在Interface Builder中设计关卡。我需要的最低构建要求是游戏能够在iPhone3g及更高版本上运行,这意味着我也可以使用Storyboard。有没有人看到我进入一个痛苦的世界,试图躲避Cocos2d。我应该分解一下这个类型的项目吗?Core Animation VS.简单游戏的Cocos2d性能

回答

0

就屏幕内容而言,Cocos2D只是OpenGL的一个包装,在OpenGL中许多您想做的任务已经为您解决了。 OpenGL比UIKit更快并且可以产生更多可能在游戏中使用的图形效果(例如,粒子效果,尽管您现在可以在UIKit的iOS5中执行这些效果)。

虽然用UIKit制作了简单的游戏,但如果只是用手指拖动图像,UIKit应该足够快。

2

你的问题很“哲学化”,我认为很多开发人员在某些时候对自己也有同样的怀疑。

对于我来说,我在一对夫妇因为典型的游戏概念,其“外的即用”支持的应用程序使用cocos2d的(它到底是一个游戏引擎):精灵和精灵片;原生格式(PVRTC纹理)的iPhone图形芯片;物理引擎和碰撞检测。我也喜欢认为cocos2d在处理Open GL的复杂问题方面做得很好,为我节省了大量时间(换句话说,只有在不使用Open GL的情况下,我才会在Core Automation中编写游戏)。另一方面,核心自动化在我看来是一种更广泛的技术,它包括对Quartz和Open GL的支持,但在某种程度上处于底层图形系统(Open GL或Open GL石英)和你的游戏。通过使用Core Animation,你必须(重新)编写你已经在coco2d中免费找到的许多代码(就像我上面强调的三点)。看看this post about the topic

可以采取两种路径,在一种情况下,您将不得不掌握一个新的自定义框架(cocos2d);另一方面,您需要编写一些“通用”代码来处理基本的东西(即在Core Automation之上构建您自己的迷你游戏引擎)。