美文网首页iOS DevelopmentiOS Developer
cocos2d-objc 3.0+ 游戏开发学习手册(四): 使

cocos2d-objc 3.0+ 游戏开发学习手册(四): 使

作者: 代码行者 | 来源:发表于2018-01-17 13:54 被阅读218次
    图片来自网络

    关于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+ 游戏开发学习手册(四): 使

        本文链接:https://www.haomeiwen.com/subject/souyoxtx.html