上节说到cygwin下成功编译出so文件,下面我们要把游戏运行在android上。
开始干活!
其实步骤可以参考
Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上
1 用eclipse打开这个项目,注意不要选择 Copy projects into workspace。因为可能一些配置用的是相对路径,不然可能会找不到一些东西。
2 修改项目属性:
(1)C/C++ builder的build command为NDK目录下的ndk-builder
(2)添加C/C++ Builder Environment NDK_MODULE_PATH,值为cocos2dx目录和cocos2dx目录\cocos2dx\platform\third_party\android\prebuilt。
好了,运行吧,一边看着旁边的视频,一边关注着console的编译动态。
如果一路没错误,固然好,
不过没有bug,就不长经验了,而且本文也没啥好写的了。
T。T
没通过,bug如下
- [2013-12-07 20:16:06 - MoonWarriors] Unable to resolve target 'android-8'
- [2013-12-07 20:34:04 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
- [2013-12-07 20:34:04 - MoonWarriors] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
没意外的 人生算不得精彩的人生。
手机上运行效果就类似于这样,存在横竖屏和分辨率的问题。
解决: 脚本新建的android项目默认为横屏,在AndroidManifest.xml里将android:screenOrientation="landscape"改为android:screenOrientation="portrait"即可。
手机里竖平了,但背景图没有拉伸:
效果来看,所有的元素都是按照相对位置来进行的布局,只是背景图不够大。
- //添加背景 0 ;1;
- CCSprite* sl = CCSprite::create(s_loading);
- sl->setScaleX(winSize.width/sl->getContentSize().width);
- sl->setScaleY(winSize.height/sl->getContentSize().height);
- sl->setAnchorPoint(ccp(0, 0));
- this->addChild(sl,0,1);
以后在考虑整个画布缩放。
马上进行下一篇:
分析下游戏源码
------------------- 飞船起飞--------------------
Cocos2dx游戏开发系列笔记9:android手机上运行《战神传说》,并解决横竖屏即分辨率自适应
Cocos2dx游戏开发系列笔记8:开搞一个射击游戏《战神传说》//就个打飞机的
Cocos2dx游戏开发系列笔记7:一个简单的跑酷游戏《萝莉快跑》的消化(附下载)
Cocos2dx游戏开发系列笔记6:怎样让《萝莉快跑》的例子运行在vs和手机上
Cocos2dx游戏开发系列笔记5:继续润色《忍者飞镖射幽灵》
Cocos2dx游戏开发系列笔记4:怎样新加一个Scene类?
Cocos2dx游戏开发系列笔记3:牛刀小试->忍者飞镖射幽灵的Demo
Cocos2dx游戏开发系列笔记2:一个刚创建的cocos2dx中的demo里都有什么
Cocos2dx游戏开发系列笔记1:一个崭新的开始,cocos2dx2.2+ndkr9+Cygwin
-------------------- 飞船降落--------------------