关于cocos2d 3.5 新版的默认项目
使用官方的安装器
cocos2d Installer创建的工程后,默认的cocos2d-ext
路径下是不完整的.
官方的
github
获取的开源
项目工程的cocos2d-ext
路径内容如下:之所以
出现这种情况,是由于cocos2d 3.5
版本后,项目的组织结构
变化较大,对很多功能都进行了单独抽离
后放置到ext这个部分
,不再默认的全部集成
在项目中,而是根据大家的具体使用
情况,酌情的添加需要的部分
.
关于OALSimpleAudio
OALSimpleAudio类
是cocos2d中音频处理模块
,常常用于游戏开发中管理背景音乐与音效
,但这个模块在3.5新版
之后,默认是没有集成的
,因此需要从cocos2d的官方项目目录
中手动添加到自己的项目中
(直接拖拽文件夹即可).
拖拽到项目时,记得勾选
Copy item if needed
选项,完成后的项目工程示例如图:编译你的项目工程时如果出现Too many arguments to function call
错误:
你需要从
github
上获取最新的ObjectAL-for-iPhone代码 然后重新拖拽
一下就可已使用了.
在cocos2d中使用cocoapods
游戏开发中
也常常需要使用第三方库
,无论MacOS 和iOS
开发cocospods
已成为项目管理的事实标准
.下面我们在cocos2d
示例项目中添加Podfile文件(AFNetworking为示例)
来使用cocoapods
管理工程:
执行命令:
pod install --no-repo-update
cocoapods
会提示两个警告:
原因:
从警告信息中我们知道是由于Xcode项目的build setting
编译设置中OTHER_LDFLAGS
的配置与cocoapods
不同,可能会导致调试或者打包发布
产生问题.我们先看一下cocos2d示例
工程默认在Build setting
中的设置:
再看一下cocoapods对OTHER_LDFLAGS
的设置:
解决办法:
既然我们使用cocoapods
管理项目,那么对OTHER_LDFLAGS
的配置,我们就以cocoapods为主
,因此只需要将它们的设置统一: 在Build setting中OTHER_LDFLAGS
设置项添加$(inherited)
即可.
-
Build setting
中OTHER_LDFLAGS
选项添加$(inherited)
:
再次编译项目,就可以在项目中正常使用cocoapods添加的第三方库了
结束语
cocos2d 3.5
版本开始发生的变化比较大
,很多的功能都是以类似组件的方式
供开发者使用,例如前面提到的音频
处理模块OALSimpleAudio
.
cocos2d
从3.1版本开始去除了对CCScene
子类的draw
和visit
调用,如果你之前使用过draw
或者visit
方法进行CCScene的绘制或添加颜色
,官方都推荐使用CCDrawNode
来实现(因为draw方法
比较耗费性能,它会在CCNode的每个刷新帧
都会自动被调用).
关于粒子系统, 瓦片地图,视觉差效果
等常用的类,也需要手动集
成到项目中,具体的使用会在讲到的时候
再做详细说明~~