【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项目
进入终端,执行以下命令
create_project.py要求提供3个参数(工程名:我这里是fishjoy ,包名:我这里是com. haomengzhu.game,语言:cpp | js | lua)
执行成功会显示以下信息
进入 fishjoy 目录,你可以看到这些项目
怎么样,全平台都给你搭好了,而且共用一个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平台源代码与工程文件:【资源引用页】
大家可以继续完善相关细节,并处理好分辨率问题。
下一节:结束语
上节回顾
【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平台源代码与工程文件:【资源引用页】
大家可以继续完善相关细节,并处理好分辨率问题。
下一节:结束语
相关文章推荐
- 【cocos2d-x IOS游戏开发-捕鱼达人7】游戏场景基础实现
- 【cocos2d-x IOS游戏开发-捕鱼达人8】游戏中的配置文件
- 【cocos2d-x IOS游戏开发-捕鱼达人14】炮弹切换界面
- 【cocos2d-x IOS游戏开发-捕鱼达人1】内容介绍
- 【cocos2d-x IOS游戏开发-捕鱼达人6】实现开始菜单
- 【cocos2d-x IOS游戏开发-捕鱼达人9】鱼与动画
- 【cocos2d-x IOS游戏开发-捕鱼达人15】炮弹攻击效果1
- 【cocos2d-x IOS游戏开发-捕鱼达人21】捕鱼达人结束之最后的最后
- 【cocos2d-x IOS游戏开发-捕鱼达人10】鱼的产生和移动
- 【cocos2d-x IOS游戏开发-捕鱼达人5】C++中函数代理与信号插槽机制
- 【cocos2d-x IOS游戏开发-捕鱼达人13】完善鱼群效果
- 【cocos2d-x IOS游戏开发-捕鱼达人17】炮弹攻击判定
- 【cocos2d-x IOS游戏开发-捕鱼达人16】炮弹攻击效果2
- 【cocos2d-x IOS游戏开发-捕鱼达人18】积分板实现
- 【cocos2d-x IOS游戏开发-捕鱼达人19】音乐与音效的实现
- 【iOS-cocos2d-X 游戏开发之三】Mac下配置Android NDK环境并搭建Cocos2d-x环境并Eclipse正常编译运行!
- 【iOS-cocos2d-X 游戏开发之十六】Cocos2dx编译后的Android自动使用(-hd)高清图&设置自适应屏幕
- 【Cocos2d-X游戏实战开发】捕鱼达人之开发前准备工作(一)
- 【iOS-cocos2d-X 游戏开发之四】Cocos2dX创建Android NDK新项目并编译导入Eclipse中正常运行! 推荐
- 【Cocos2d-X游戏实战开发】捕鱼达人之加载场景的创建(五)