出自:http://wulin9005.blog.163.com/blog/static/13239748820128903132429/
有用的部分:
1.0版本的时候关于分辨率适配是需要自己手动添加说要支持的分辨率,自行判断,但2.0的时候就不一样了,这些事情大可交给引擎来完成
这里需要修改下android工程下的jni/helloworld/main.cpp
这里代码里已经给出提示了
我们只需把 view->setDesignResolutionSize(480, 320);前的注释去掉(这句话在1.0版本是view->create(……);)// set the design resolution screen size, if you want to use Design Resoulution scaled to current screen, please uncomment next line.
// view->setDesignResolutionSize(480, 320);
当代码运行在android平台是它就会获取手机的分辨率来和480*320比,得到2个比例,取比例值最小的那个作为整个游戏素材放大的倍数,如果手机的分辨率碰巧也是480*320的则可以正常显示但如果是854*480的则会有黑边,还有一个问题就是不能读取-hd图片,这个需要自己来实现完成,网上也有一些通用的方法,就是修改引擎中的cocos2dx/platform/android/CCFileUtils.cpp文件,可以自行尝试,或到网上找相关文章
另转:http://blog.csdn.net/lamp_zy/article/details/8045152
在win32下,自动生成的代码中,OpenGLView就是在main.cpp中用setFrameSize设置的大小,如果图片大于这view的大小,只能显示交集的部分,如果小于,则会出现黑边
CCSize winSizeInPixels = CCDirector::sharedDirector()->getWinSizeInPixels();
float scaleX = winSizeInPixels.width/400; //400是实际图片的宽
m_pRoadSprite->setScaleX(scaleX);//实际上就是把m_pRoadSprite的宽度设置为OpenGLView的宽度,但是直接用SetContentSize好像不起作用