cocos2d-objc 3.0+ 游戏开发学习手册(四): 使用CocoaPods 管理cocos2d项目

图片来自网络

关于cocos2d 3.5 新版的默认项目

使用官方的安装器cocos2d Installer创建的工程后,默认的cocos2d-ext路径下是不完整的.

cocos2d-ext

官方的github获取的开源项目工程的cocos2d-ext路径内容如下:
cocos2d 开源项目

之所以出现这种情况,是由于cocos2d 3.5版本后,项目的组织结构变化较大,对很多功能都进行了单独抽离后放置到ext这个部分,不再默认的全部集成在项目中,而是根据大家的具体使用情况,酌情的添加需要的部分.

关于OALSimpleAudio

OALSimpleAudio类是cocos2d中音频处理模块,常常用于游戏开发中管理背景音乐与音效,但这个模块在3.5新版之后,默认是没有集成的,因此需要从cocos2d的官方项目目录中手动添加到自己的项目中(直接拖拽文件夹即可).

cocs2d github工程目录

拖拽到项目时,记得勾选 Copy item if needed选项,完成后的项目工程示例如图:
添加OALSimpleAudio后

编译你的项目工程时如果出现Too many arguments to function call错误:

ObjectAL 编译错误

你需要从github上获取最新的ObjectAL-for-iPhone代码 然后重新拖拽一下就可已使用了.

在cocos2d中使用cocoapods

游戏开发中也常常需要使用第三方库,无论MacOS 和iOS 开发cocospods已成为项目管理的事实标准.下面我们在cocos2d示例项目中添加Podfile文件(AFNetworking为示例)来使用cocoapods管理工程:

Podfile文件

执行命令:

  pod install --no-repo-update

cocoapods会提示两个警告:

cocoapods 警告信息

原因:

从警告信息中我们知道是由于Xcode项目的build setting编译设置中OTHER_LDFLAGS的配置与cocoapods不同,可能会导致调试或者打包发布产生问题.我们先看一下cocos2d示例工程默认在Build setting中的设置:

cocos2d 默认OTHER_LDFLAGS

再看一下cocoapods对OTHER_LDFLAGS的设置:

cocoapods debug config

解决办法:

既然我们使用cocoapods管理项目,那么对OTHER_LDFLAGS的配置,我们就以cocoapods为主,因此只需要将它们的设置统一: 在Build setting中OTHER_LDFLAGS设置项添加$(inherited)即可.

  • Build settingOTHER_LDFLAGS选项添加$(inherited):
    添加inherited

再次编译项目,就可以在项目中正常使用cocoapods添加的第三方库了

结束语

cocos2d 3.5 版本开始发生的变化比较大,很多的功能都是以类似组件的方式供开发者使用,例如前面提到的音频处理模块OALSimpleAudio.
cocos2d从3.1版本开始去除了对CCScene子类的drawvisit调用,如果你之前使用过draw或者visit方法进行CCScene的绘制或添加颜色,官方都推荐使用CCDrawNode来实现(因为draw方法比较耗费性能,它会在CCNode的每个刷新帧都会自动被调用).
关于粒子系统, 瓦片地图,视觉差效果等常用的类,也需要手动集成到项目中,具体的使用会在讲到的时候再做详细说明~~

你可能感兴趣的:(cocos2d-objc 3.0+ 游戏开发学习手册(四): 使用CocoaPods 管理cocos2d项目)