cocos2dx2.2移植到Android

cocos2dx2.2移植到Android,第1张

概述转自:http://blog.csdn.net/ymook/article/details/18047575 准备: 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\c

转自:http://blog.csdn.net/ymook/article/details/18047575

准备: 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.将路径D:\cocos2d-x-2.2\cocos2d-x-2.2\projects\Helloworld\proj.androID 下的AndroID工程导入Ecllipse中 再将路径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}

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

步骤四、编译运行成功
步骤五、分辨率

在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 @R_710_4041@ or compressed.    kResolutionExactFit, The entire application fills the specifIEd area,without distortion but possibly with some cropPing,0)"> while maintaining the original aspect ratio of the application.    kResolutionNoborder,0)"> 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,};
总结

以上是内存溢出为你收集整理的cocos2dx2.2移植到Android全部内容,希望文章能够帮你解决cocos2dx2.2移植到Android所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1005809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存