cocos2d-x hello world及安卓平台迁移
本节和大家一起新建一个项目工程,并通过cygwin迁移至android平台。
以下是本节主要内容:
- 利用cocos2d-x自带脚本,生成测试工程,并测试运行;
- 将该测试项目通过cygwin生成apk文件,迁移至安卓平台运行。
一、生成测试项目
cocos2d-x 2.1.4版本不同于之前版本,该版本通过cocos2d-x-2.1.4\tools\project-creator\create_project.py 脚本新建项目,生成的项目位于cocos2d-x 根目录的 cocos2d-x-2.1.4\projects下。脚本如下
python create_project.py -project %pname% -package %pflag% -language cpp
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
当然,这样操作很不直观,我们可以自己写一个简单的bat文件进行简单体验优化,如下
@echo off
set /p pname=请输入所要新建的项目名称:
set /p pflag=请输入所要新建项目的包标识名:
python create_project.py -project %pname% -package %pflag% -language cpp
pause
.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }
将以上内容保存为create_project.bat,与create_project.py 放于同一目录,以后我们就可以用这个bat文件进行新建项目了。下面我们执行create_project.bat,输入相关工程信息,新建一个工程,如下:

之后,会在目录 cocos2d-x-2.1.4\projects 下生成工程目录。

进入 ./FishingJoy\proj.win32 目录,双击FishingJoy.sln 解决方案文件,CTRL+F5 运行,你发现了什么~

如果是他,那恭喜,你成功了! 新生成的解决方案下项目如下,先瞄一眼,以后再详细介绍

二、将新建的工程编译为安装版本
首先进入cocos2d-x的目录,找到create-android-project.bat,找到_CYGBIN、_ANDROIDTOOLS、_NDKROOT,修改为相应的工具路径(上节已介绍),之后猛击之,按照提示输入对应信息,如下:

选择支持的android版本代号(此处我们选5,android-8版本),完成。

生成成功后,会在cocos2d-x跟目录生成项目路径

将生成项目路径下的Cpp文件及资源文件统统拷贝至该目录内对应目录下(Classes 和 Resources)。
下面传说中的cygwin终于要登场了,打开cygwin,切换至新建的android项目目录,执行build_native.sh,如下

下面就是漫长的等待,cygwin会重新编译整个项目,生成android项目需要的文件,成功后显示如下:

打开eclipse,导入生成的项目cocos2d-x-2.1.4\FishingJoy\proj.android(通过新建项目的方式导入),如果编译有问题,还需要导入cocos2d-x基础平台项目,路径为cocos2d-x-2.1.4\cocos2dx\platform\android\java,

编译,运行,搞定。如果大家有问题,可以给我留言,一起解决~,最后附上一张我真机的运行截图(魅族MX)

cocos2d-x hello world及安卓平台迁移的更多相关文章
- Windows C盘格式化或者同平台迁移oracle数据库
我们知道如果是Linux 同平台迁移oracle数据库.只要是安全关闭了数据库,在新机器上创建用户组,配置了环境变量,将数据库安装目录拷贝到对应的目录就好用了. 一直在寻求Windows平台上这类的解 ...
- 安卓平台 全面支持软解和硬解的SDK-Demo源代码开放
专业做视频编解码的SDK开发工作. 2015年12月1日10:46:55: 更新到1.5.0版本 功能列表: 基本播放: 1,正常播放, 支持MP4,FLV,AVI,TS,3GP,RMVB,WM,WM ...
- 在Unity3D中实现安卓平台的本地通知推送
[前言] 对于手游来说,什么时候需要推送呢?玩过一些带体力限制的游戏就会发现,我的体力在恢复满后,手机会收到一个通知告诉我体力已完全恢复了.这类通知通常是由本地的客户端发起的,没有经过服务端. 在安卓 ...
- ionic3 打包安卓平台环境搭建报错解决方案总结
1.jvm虚拟机提供的运行空间小于项目所需的空间是报错.如图: 解决方法:在环境变量中配置jvm的运行内存大小,大于所需的内存即可. 其中:-Xmx512M可根据实际提示情况,进行更改,如1024M, ...
- Unity切换到安卓平台Shader丢失(opengl)
Unity安卓平台shader平台丢失 Unity的工程切换到Android平台后,运行游戏出现shader丢失 解决办法:在Unity桌面图标的快捷方式后添加 -force-gles20 示例:&q ...
- Linux 工程向 Windows 平台迁移的一些小小 tips
Linux 工程向 Windows 平台迁移的一些小小 tips VS2013 C++11 Visual Studio 2013 没有做到对 C++11 所有的支持,其中存在的一个特性就是 In-cl ...
- cocos2d-x 3.0 WIN7+VS2012 安卓平台搭建
***************************************转载请注明出处:http://blog.csdn.net/lttree************************** ...
- 安卓平台ARM Mali OpenCL例子-灰度转换(转)
手头一块RK3288的板子,在板子上测试了一张1080p的彩色图灰度转换的OpenCL例子.OpenCL没有任何优化.例子请移步这里. 该例子是编译成安卓平台下的可执行程序. 进入jni文件夹,进行如 ...
- phongap开发中安卓平台上如何调用第三方播放器来播放HLS视频
前文曾经讲了关于在安卓平台上利用phonegap开发播放HLS的解决方案,其实最好的方案就是自己针对HLS视频开发自己的播放器,但是开发播放器是一个浩大的工程,必须对原生安卓开发非常熟悉,并且对视频播 ...
随机推荐
- js获取系统时间
//------------------------------------获取系统日期时间 var oDate=new Date(); //alert(oDate.getFullYear());// ...
- scala学习6--collection
list的下标访问 var t = List(1,2,3,5,5) println(t(2)) map函数 println(t.map(a=> {print("***"+a ...
- Native Apps、Web Apps
Native Apps 指的是远程程序,一般依托于操作系统,有很强的交互,是一个完整的App,可拓展性强,需要用户下载安装使用 优点: 打造完美的用户体验 性能稳定 操作速度快,上手流畅 访问本地资源 ...
- 认识hasLayout——IE浏览器css bug的一大罪恶根源 (转)
认识hasLayout--IE浏览器css bug的一大罪恶根源 转 什么是hasLayout?hasLayout是IE特有的一个属性.很多的ie下的css bug都与其息息相关.在ie中,一个元素要 ...
- CSU 1355 地雷清除计划
题目链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1355 好题,根本想不到是网络流. 模型如图: 假想从右上角到左下角有一条阻拦线,我们就是 ...
- css让元素不可点击 pointer-events: none;
张鑫旭大神:http://www.zhangxinxu.com/wordpress/2011/12/css3-pointer-events-none-javascript/ 我们知道form元素里的 ...
- LoadRunner中Vugen-Recording Options选项卡介绍:
LoadRunner中Vugen-Recording Options选项卡介绍:
- 使用 JavaScript 在下拉列表中获取选定的值
使用 JavaScript 在下拉列表中获取选定的值 演示Demo 使用 JavaScript 在下拉列表中获取选定的值? <!DOCTYPE html> <html> < ...
- Numpy存取文件
来自 Python科学计算 http://hyry.dip.jp/tech/book/page/scipy/numpy_file.html NumPy提供了多种存取数组内容的文件操作函数.保存数组数据 ...
- 湖南大学ACM程序设计新生杯大赛(同步赛)B - Build
题目描述 In country A, some roads are to be built to connect the cities.However, due to limited funds, ...