cocos2dx2.2移植到Android
来源:互联网 发布:mac桌面卡机了怎么办 编辑:程序博客网 时间:2024/06/16 23:33
准备:
1.vs2010
2.搭建好Android开发平台的eclipse
3.下载Android NDK(我下的是android-ndk-r9)
我的cocos2dx解压路径:D:\cocos2d-x-2.2\cocos2d-x-2.2
NDK路径:D:\cocos2d-x-2.2\cocos2d-x-2.2\android-ndk-r9
步骤一、配置AndroidDNK编译环境
运行eclipse,配置一下ndk路径就可以了 window->Preferences,如下图
环境搭建好了,下面写个测试程序验证一下
简单创意一个android工程,相当于helloworld,创建好后鼠标右键工程名字Android Tools->Add Native Support...这时你会发现工程多了一个jni目录
测试demo比较简单,实现android端与C++的相互调用
步骤二、资源移植
1.先将D:\cocos2d-x-2.2\cocos2d-x-2.2\cocos2dx\platform\android\java\src下的org目录拷贝到D:\cocos2d-x-2.2\cocos2d-x-2.2\projects\Helloworld\proj.android\src下
2.将D:\cocos2d-x-2.2\cocos2d-x-2.2\projects\Helloworld\Classes下的全部C++文件拷贝到D:\cocos2d-x-2.2\cocos2d-x-2.2\projects\Helloworld\proj.android\jni\hellocpp
3.由于第二步转移了C++文件的路径,因此在D:\cocos2d-x-2.2\cocos2d-x-2.2\projects\Helloworld\proj.android\jni下的Android.mk
文件里也要指明这些C++文件的路径,要修改只有如下的项LOCAL_SRC_FILES
LOCAL_SRC_FILES := hellocpp/main.cpp \
hellocpp/AppDelegate.cpp \
hellocpp/HelloWorldScene.cpp
即将(AppDelegate.cpp 和HelloWorldScene.cpp)与main.cpp的相对路径改了
4.导入工程,Eclipse中File->New->Other然后选择Andriod Project from Existing Code在Import Projects的Root Directory中将路径D:\cocos2d-x-2.2\cocos2d-x-2.2\projects\Helloworld\proj.android
下的Android工程导入Ecllipse中,(注意不要选择copy project into workspace,这样会很坑爹,很蛋疼,不怕就试试,试出结果就告诉我)
再将路径D:\cocos2d-x-2.2\cocos2d-x-2.2\projects\Helloworld\Resources下的资源全部拷贝到Android工程的assets目录下
步骤三、设置编译方式
1.右键移植的Android工程,选择properties,再选择Builders->New->program
在mian页面填入NDK编译路径和本工程路径,如下:(注意第二项Working Directory 要对应自己的Android工程名称)
D:\cocos2d-x-2.2\cocos2d-x-2.2\android-ndk-r9\android-ndk-r9\ndk-build.cmd
${workspace_loc:/HelloCpp}
特别注意如下:
在Builders的界面:
一定要将CDT Buider的勾去掉,不然会用这种方式来编译,而新设置的编译方式就变得无意义了。
如果没去勾,或者NDK路径设置不对就会出现如下错误 Program "bash" is not found in PATH
2.在Environment界面新建环境变量:
内容如下:
NDK_MODULE_PATH
D:\cocos2d-x-2.2\cocos2d-x-2.2;D:\cocos2d-x-2.2\cocos2d-x-2.2\cocos2dx\platform\third_party\android\prebuilt
步骤四、编译运行成功
点击编译运行,大概要等个10分钟左右, 激动人心的画面出来了,快去试试吧!
好了,就这么简单,如果大家有什么游戏开发上的问题可以加入火狐的技术与创业群98817001
步骤五、分辨率
在 AppDelegate.cpp的 bool AppDelegate::applicationDidFinishLaunching() 方法里,加上
CCEGLView::sharedOpenGLView()->setDesignResolutionSize(576,324,kResolutionNoBorder);即可解决分辨率适配问题。
其中,576,324 是笔者在win32设计游戏时采用的宽度和高度,大家改为自己所设置的宽高即可。kResolutionNoBorder是指在屏幕拉伸时采用的其中一种策略,保证拉伸后无边界,但是设计时界面的边缘部分可能在最后被遮盖。笔者通过 "go to definition"操作找到了如下的定义。以下即是全部的适配策略了。
enum ResolutionPolicy{ // The entire application is visible in the specified area without trying to preserve the original aspect ratio. // Distortion can occur, and the application may appear stretched or compressed. kResolutionExactFit, // The entire application fills the specified area, without distortion but possibly with some cropping, // while maintaining the original aspect ratio of the application. kResolutionNoBorder, // The entire application is visible in the specified area without distortion while maintaining the original // aspect ratio of the application. Borders can appear on two sides of the application. kResolutionShowAll, kResolutionUnKnown,};
转载地址:http://blog.csdn.net/ymook/article/details/18047575
0 0
- cocos2dx2.2移植到Android
- cocos2dx2.2移植到Android
- cocos2dx2.2移植到Android
- cocos2dx2.2移植到Android
- win7+cocos2dx2.1.4+cywin 下cocos2dx移植到android
- cocos2dx2.2 移植到android上报错main.h 0 windows.h: No such file or directory
- 《一》 将cocos2dx2.0.4 的sample工程移植到android 并真机调试
- win7 64位上cocos2dx2.0.4移植android的全过程
- win7&Cocos2dx2.2&Android最简单方案
- win7&Cocos2dx2.2&Android环境搭建中的问题汇总
- cocos2dx2.2-3.0
- cocos2dx2.2 自适应屏幕
- [iuud8]基于cocos2dx2.26在mac下编译通过的.so文件移植到win32位环境
- FFmpeg 移植到 Android 平台(2)
- 移植Dnsmasq到Android
- BusyBox移植到Android
- irrlicht移植到android
- 移植Android 到mini2440
- 软件实现pwm(STC15F104E)
- 线程同步
- 在宏中使用不定参数
- 耶稣有13个门徒,其中有一个就是出卖耶稣的叛徒,请用排除法找出这位叛徒:13人围坐一圈,从第一个开始报号:1,2,3,1,2,3...。凡是报到“3”就退出圈子,最后留在圈子内的人就是出卖耶稣的叛徒。
- 算法竞赛入门经典(第2版)习题4-2 正方形 Squares UVa201
- cocos2dx2.2移植到Android
- Freemarker页面语法
- windows2003记录远程桌面连接登录日志的方法及注意事项
- go语言:log4go
- Linux netstat命令详解
- C#.net文件批量上传解决方案附下载(swfupload)
- 做出改变的秘诀不是多么努力地和过去做斗争,而是全力以赴地去打造全新的自己
- 母函数(1)
- 欧美时间转换