Cocos2dx游戏开发系列笔记14:一个横版拳击游戏Demo-下(让游戏跑在手机上)解决分辨率问题

懒骨头(http://blog.csdn.net/iamlazybone QQ:124774397 )


现在是周五的晚上
这是一周最好的时间段
刚才看了小段09的dota视频
上一次9神的《董小姐》在网络上引起很大反响
都说很像人生
里面有不放弃、有富二代、有不公平
开搞
这次打算把这个横版拳击游戏跑在手机上,并且改的BT一下

----------------------------------------------------------------------------------------

-1- 修改分辨率

----------------------------------------------------------------------------------------

修改main.cpp文件,把分辨率改为手机的分辨率960*540,运行看下


好像不行,背景图不是一个单张的图,不能直接拉伸背景图。

改为原分辨率,想想别的办法。

看看有没有类似于 libgdx 引擎那种直接拉伸的方法。估计有,搜之。。。

	//kResolutionExactFit x,y都拉伸,使铺满屏幕
	//kResolutionNoBorder 一个方向铺满屏幕,另外一个方向超出屏幕
	//kResolutionShowAll  854 * 480 的设计区域全部可见,但是可能留有黑边(如在960 * 640的屏幕上)
CCEGLView::sharedOpenGLView()->setDesignResolutionSize(480,320,kResolutionExactFit);

要得就是这个方法,前两个参数是设计分辨率,

第三个参数是拉伸方式,相当于Android ImageView 中色 ScaleType 

设置分辨率改为 480,320

然后在main。cpp文件里设置窗口大小:960 540

ok,正确拉伸了!


----------------------------------------------------------------------------------------

-2- 运行在手机上

----------------------------------------------------------------------------------------

(1)拷贝资源到android文件夹下的assets文件夹,没有则新建。

(2)打开文件夹下cocos2d-x-2.2\projects\PrompaDroid\proj.android\jni下的Android.mk文件,如图,把所有cpp按照格式添加上


(3)管理员模式打开cmd,cd到android项目所在目录,运行下面两行命令:

takeown /f * /A /R
icacls * /t /grant:r everyone:f 


(4)管理员模式打开Cygwin Terminal,定位到android目录。

注意要修改 斜杠 反斜杠(骨头不分谁是谁)

错误 D:\Java\cocos2d-x-2.2\projects\PrompaDroid\proj.android
正确 D:/Java/cocos2d-x-2.2/projects/PrompaDroid/proj.android


然后输入:build_native.sh

然后祈祷成功编译,不要出bug吧。骨头要敲回车了,是否顺利呢?


等啊等啊。。。

(突然想到熊同学最近在xp下搭配环境,希望它顺利搞定)

期间跑到哲哲那,一起听了首歌 李玉刚女声的外文歌。

。。。


没意外,生成了so文件。

其实骨头到希望多出一些未知的bug,这样在解决过程中能理解的更透彻一些。

(5)用eclipse 打开项目。修改配置:

<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。

直接运行,编译时报错,学习的机会来了:

[2013-12-20 23:45:16 - PrompaDroid] Unable to resolve target 'android-8'
[2013-12-20 23:47:38 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2013-12-20 23:47:38 - PrompaDroid] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
首先,尝试clean一下再次编译。

一直很顺利,直到最后报这个:

[2013-12-20 23:45:16 - PrompaDroid] Unable to resolve target 'android-8'
[2013-12-20 23:47:38 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2013-12-20 23:47:38 - PrompaDroid] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2013-12-20 23:54:33 - PrompaDroid] Dx 
trouble writing output: already prepared
[2013-12-20 23:54:34 - Dex Loader] Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
[2013-12-20 23:54:34 - PrompaDroid] Conversion to Dalvik format failed: Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.

怀疑是android-8 版本问题,改成4.4高版本。

ok,手机上看到游戏了!


还算顺利。


小结:

0 - 简单的未必看得懂,看得懂的未必写得出,就比如这个demo里的地图卷轴,骨头觉得比较难读,难于自己重写。

1 - cocos2dx 这套东西骨头感觉配置起来还是比较麻烦的,很多东西其实可以简化,比如用python脚本生成项目那块,就可以改为直接输入必要的参数即可。

2 - 很多问题都是自己的问题:漏掉配置文件,漏掉cpp文件添加,标点空格斜杠反斜杠等等都是一些坑。

3 - 一次编译过不见得是一件好事,多遇到些不同的bug对理解整个框架非常有帮助。


现在是周六了。收工!

下一篇打算修改一下游戏代码,好好享受下修改带来的的快感:)


------------------- 飞船起飞--------------------    

Cocos2dx游戏开发系列笔记13:一个横版拳击游戏Demo-中

Cocos2dx游戏开发系列笔记12:一个横版拳击游戏Demo-上

Cocos2dx游戏开发系列笔记11:解 刨《战神传说》完结篇

Cocos2dx游戏开发系列笔记10:解刨《战神传说》

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+vs2012游戏开发环境搭建

-------------------- 飞船降落-------------------- 


最后,骨头介绍一下陪在身边的哲哲(右边就是低调的哲哲)

 



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值