我已经完成了ipad版(1024 *768)的一款游戏,现在我想把它移植到Android上,实现全屏幕显示,不带黑边。
目前,我有两种想法:
第一,使用cocos2d-x封装的setDesignResolutionSize(1024, 768)函数来实现自适配,这种方法带来的一个很明显的问题就是,在Android手机上面显示的时候,是有黑边的。
现在对于这个方案,我有一个想法,我想把游戏的背景图片充满整个Android手机,然后游戏场景采用类似愤怒小鸟的方式进行缩放,但是我发现了一个问题就是,setDesignResolutionSize(1024, 768)这个函数是用EglView直接画出来的。所以,在我的游戏场景中,不管我如何设置我背景图片的大小,它一样是以我用setDesignResolutionSize(1024, 768)这个函数设置的大小来显示的?
第二,分不同宽高比的Android的手机来适配。假设我setDesignResolutionSize(1280, 720),这时候,我需要重新做一套这个比例的图片,还有就是我需要调整一下我原游戏中的某些元素的位置,然后当我移植到Android上面,只要是16:9的分辨率的手机时,它就能自动适配,并且是全屏的。这种方法带来的一个问题就是,如果我原游戏中的元素设置位置的时候不是使用相对位置,那会出现偏差,还有就是我得重新做游戏图片,并且我只能适配Android中16:9的机型。假如我想适配其他比例的手机,那我又得重新进行上面的步骤。
麻烦指导一下我,谢谢!
我移植到Android的时候,是没有拷贝win32下自己生成的main.cpp文件的。因为你创建完一个新的Android项目时都是在jni/HelloWorld 里面自动生成一个main.cpp文件的, setDesignResolutionSize 这个函数我是加在这边的。
关于网上说的2.0.2版本以后 setDesignResolutionSize这个函数没法调用的问题我还真不知道。因为我用的是2.0.1的
— Begin quote from ____
jetion 发表于 2012-10-31 14:28 url
关于这个问题,暂时我的这么解决的
http://jetion.diandian.com/post/2012-10-20/40039154534 …
— End quote
main.cpp没有调用这个函数啊setDesignResolutionSize