您的位置:首页 > 移动开发 > Cocos引擎

【cocos2d-x IOS游戏开发-捕鱼达人20】移植到IOS平台、编译

2013-12-07 02:20 477 查看
尊重开发者的劳动成果,转载的时候请务必注明出处:http://blog.csdn.net/haomengzhu/article/details/17167021

上节回顾

【cocos2d-x IOS游戏开发-捕鱼达人19】音乐与音效的实现

1、  准备工作

一、下载cocos2d-x
http://cocos2d-x.org/projects/cocos2d-x/wiki/Download
我们可以看到稳定的版本为2.2.1,这个版本提供了一个用python命令来建立各平台的项目,十分便利
下载,解压(建议解压到主目录下的)
二、下载python
http://www.python.org/getit/
下载,安装,然后在终端直接输入python,如果出现版本信息则安装成功。

三、建立cocos2d-x项目
进入终端,执行以下命令

cd ~/cocos2d-x-2.2.1/tools/project-creator/
python create_project.py -project fishjoy -package com.haomengzhu.game -language cpp


create_project.py要求提供3个参数(工程名:我这里是fishjoy ,包名:我这里是com. haomengzhu.game,语言:cpp | js | lua)
执行成功会显示以下信息
proj.ios        : Done!
proj.android        : Done!
proj.win32        : Done!
proj.mac        : Done!
proj.blackberry        : Done!
proj.linux        : Done!
proj.marmalade        : Done!
New project has been created in this path: ../cocos2d-x-2.2.1/projects/fishjoy
Have Fun!

进入 fishjoy 目录,你可以看到这些项目
Classes
Resources
proj.android
proj.ios
proj.mac
proj.win32
proj.blackberry
proj.linux
proj.marmalade


怎么样,全平台都给你搭好了,而且共用一个Classes文件夹,也就是说你在一个平台更新了代码,全平台都得到了更新。

四、替换文件
创建的项目一般在cocos2d-x-2.2.1的文件projects文件夹里面,这个能建在这个位置,是python脚本文件里面自己写得存在projects文件夹的,如果想建在其他地方,那就改下python脚本,写上你想建的路径,本人没试过,因为懒的改。
打开XCODE项目,删掉项目Xcode里面的Classes和Resources, 然后把vs里面的Classes和Resources文件复制放到原来Xcode的Classes和Resources那里;

Xcode开发工具下classes文件夹的配置
1、  把VS中的classes文件夹下的所有文件拖到Xcode项目下的classes文件夹下
2、  弹出对话框提示,
Destination单选项     勾选
Folder复选框         勾选第一个
Add To Targers 单选项  勾选       
然后点击完成
 Resources文件夹的配置
1、将VS中的Resources文件夹中的所有文件及文件夹copy到Xcode项目中Resources对应的Finder文件夹(右击Resources文件夹 show in Finder);
2、将Finder中刚刚copy的文件反拖到Xcode的Resource中,
3、  弹出对话框提示,
Destination单选项     不勾
Folder 复选框         勾选第二个
Add To Targers单选项   勾选         
然后点击完成

2、  编译与运行

五、编译
在这个过程中,你可能会遇到各种问题,但是每个项目都不一样,所以问题不一定都一样。我就写下,我自己遇到的一些情况。
1、首先,先把你的cocos2dx先编译一遍,不过要在编译器Xcode的左上角选择好,这也有人会闹不清,为啥程序不出来,最后发现左上角没有选择要编译的项目,而选择的是cocos2dx。



2 没有头文件,编译时候,会出现很多 not found xxxxxx  file,这和你在vs里面是怎么添加一些头文件的路径有关的。在Xcode里面也要自己加上。点击自己的项目,就是树形结构的最顶端那个,然后找Targets,在Build Settings里面找Header Search Paths 和 User Header Search Paths.



3 代码的修改。
    (1)在Resources文件夹下面的这一级文件夹名字,绝对不能再叫Resources。

    (2)Xcode中不支持 "\" 的识别,包头文件,尽量用"/",例如:#include <boost/smart_ptr.hpp> 。
    (3)Xcode用不了sprintf_s,建议用sprintf。
    (4)用模板在VS上省略了typename关键字,在Xcode上面不能去掉。
    (5)如果在VS上面用了Json文件后缀,用小写的.json 不用.Json。
    (6)在list里面VS的cbegin和cend在Xcode上面没有,在Xcode上面list的迭代器begin和end就是const的。
其实,c++和c的语法是很严谨的,只是随着VS编辑器的强大,慢慢的优化了一些东西,语法功能上,也有些方便和随意了。用Xcode做了移植后,发现还是有些严谨的地方,其实注意一下,这些问题就可以迎刃而解了。要注意的也不多,为了跨平台的,尽量写的兼容一些,这样就不用在各个平台还要做不同的修改的。

 看在IOS模拟器上运行的效果:是不是不错啊!!!O(∩_∩)O哈哈~



IOS平台源代码与工程文件:【资源引用页】

大家可以继续完善相关细节,并处理好分辨率问题。

下一节:结束语
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐