来自http://www.cnblogs.com/yangws/archive/2011/07/22/2114132.html

用Cocos2d-x开发游戏有个很头痛的问题,Android的分辨率实在太多了。

虽然Android可以全屏,但是因为不同屏幕的长宽比例不同,针对一个分辨率设计好的游戏在别的手机上就可能拉高或压扁,很是难看。

Cocos2d-x提供了等比缩放的功能,可以在不需修改游戏代码的前提下把游戏图像等比显示到不同的手机上;但是因为长宽比不同的原因,可能在手机的左右两边或上下两边留下点黑边。

上面两种多分辨率适配方案都有缺点,不是很爽。所以亲自抄刀整了个“Cocos2d-x 全屏等比缩放 多分辨率适配方案”, 哇咔咔——拿Helloworld当小白鼠,上图:

让Cocos2d-x实现全屏等比缩放适配Android各种分辨率_第1张图片

这个是游戏设计的大小,是HVGA的,效果很完美。

让Cocos2d-x实现全屏等比缩放适配Android各种分辨率_第2张图片

这个是在QVGA上的效果,背景图左右少显示了一点点。

让Cocos2d-x实现全屏等比缩放适配Android各种分辨率_第3张图片

这个是在WVGA上的效果,背景图上下少显示了一点点。

上面的效果在不同分辨率上保持了长宽比,在不同分辨率上都实现的全屏效果,血条、控制杆等UI元素也都保持在了屏幕区域内。

其实方法很简单,在保持长宽比的前提下缩放图像盖满屏幕,然后用代码获取触摸屏上下左右和斜方向和屏幕边缘相交的8个点+中心点的坐标位置作为定位点,所有血条等UI元素根据9个定位点在屏幕内定位。这样就可以了。

示例源码下载,代码基于cocos2d-1.0.0-x-0.9.0,对引擎部分做了点修改,使用方法详见readme.txt。

更多相关文章

  1. Android_Android中屏幕相关的操作
  2. Android杂谈---获取手机屏幕大小
  3. Android 屏幕刷新机制:ViewRootImpl、Choreographer、Surface、Su
  4. Android:ImageView图片缩放、居中
  5. ym——Android如何支持多种屏幕

随机推荐

  1. 参考注释郭霖老师的Android相机程序
  2. Android(安卓)Studio App LinearLayout多
  3. Android--WindowManager.LayoutParams(上
  4. android 获取网络上服务器图片
  5. Android(安卓)Studio3.0 Error:Execution
  6. android 模拟滑动事件
  7. android 记得用mkdirs不要用mkdir
  8. Android实现图片缩放示例
  9. Android(安卓)-- EditText插入表情
  10. android如何禁止安装第三方应用