1.1.2 Cocos2D的主要功能

作为一款游戏引擎,在游戏开发方面Cocos2D引擎具有很多的实用功能。

首先Cocos2D降低了技术的复杂性。它虽然基于OpenGL(Open Graphics Library,开放图形库)和OpenGL ES(OpenGL for Embedded Systems,嵌入式系统开放图形库),但是使用Cocos2D系列的引擎无须掌握OpenGL的相关知识。大多数Cocos2D游戏中简单的图形对象由Sprite精灵对象生成。Sprite就是一个贴图。你可以调用Cocos2D中的方法来实现图片的缩放,如图1-3所示。

你也可以调用Cocos2D实现旋转,如图1-4所示。

图1-3 Cocos2D实现缩放的效果

图1-4 Cocos2D实现旋转的效果

你无须关心这些功能在底层是如何实现的。同时由于它是开源的,你可以获得引擎的全部源代码,也可以根据你的需要用OpenGL知识来修改或生成新的游戏对象。也就是说,对于初学者来说,Cocos2D可以避免你花费时间去研究OpenGL的相关内容,同时它也不排斥资深开发者对于引擎的修改,进而使开发者随心所欲地来使用它。

Cocos2D自带的物理引擎可以提高玩家游戏的乐趣。目前非常火爆的《愤怒的小鸟》等多款游戏都在游戏中加入了物理引擎。Cocos2D系列引擎集成了目前比较流行的两款物理引擎(Chipmunk和Box2D),从而大大方便了游戏开发者,并且提高了开发的效率。Cocos2D中使用物理引擎的例子如图1-5和图1-6所示。

图1-5 Cocos2D中使用Chipmunk物理引擎的例子

图1-6 Cocos2D中使用Box2D物理引擎的例子

Cocos2D的开发者社区十分活跃。开发者在开发过程中如果有问题,会得到很快的解决。而且,相应的参考资料也很多,开发者们非常愿意将他们的经验和知识分享出来。因为它是开源的,所以你的修改也相对方便了许多,你在游戏开发中会有很大的灵活性,不必束缚在引擎的功能限制上。对于富有经验的游戏开发者来说,这点十分重要。

同时,由于Cocos2D开源性和强大的社区支持,相应的工具开发也非常活跃,例如最早的粒子编辑器到现在的动画编辑器。目前集成编辑器CocosBuilder已经初见雏形并且支持Cocos2D和Cocos2D-x。关于相关的工具,本书也会在之后的章节详细介绍。