让Cocos2d-x实现全屏等比缩放适配Android各种分辨率
2011-07-22 16:58
441 查看
用Cocos2d-x开发游戏有个很头痛的问题,Android的分辨率实在太多了。
虽然Android可以全屏,但是因为不同屏幕的长宽比例不同,针对一个分辨率设计好的游戏在别的手机上就可能拉高或压扁,很是难看。
Cocos2d-x提供了等比缩放的功能,可以在不需修改游戏代码的前提下把游戏图像等比显示到不同的手机上;但是因为长宽比不同的原因,可能在手机的左右两边或上下两边留下点黑边。
上面两种多分辨率适配方案都有缺点,不是很爽。所以亲自抄刀整了个“Cocos2d-x 全屏等比缩放 多分辨率适配方案”, 哇咔咔——拿Helloworld当小白鼠,上图:
这个是游戏设计的大小,是HVGA的,效果很完美。
这个是在QVGA上的效果,背景图左右少显示了一点点。
这个是在WVGA上的效果,背景图上下少显示了一点点。
上面的效果在不同分辨率上保持了长宽比,在不同分辨率上都实现的全屏效果,血条、控制杆等UI元素也都保持在了屏幕区域内。
其实方法很简单,在保持长宽比的前提下缩放图像盖满屏幕,然后用代码获取触摸屏上下左右和斜方向和屏幕边缘相交的8个点+中心点的坐标位置作为定位点,所有血条等UI元素根据9个定位点在屏幕内定位。这样就可以了。
示例源码下载,代码基于cocos2d-1.0.0-x-0.9.0,对引擎部分做了点修改,使用方法详见readme.txt。
虽然Android可以全屏,但是因为不同屏幕的长宽比例不同,针对一个分辨率设计好的游戏在别的手机上就可能拉高或压扁,很是难看。
Cocos2d-x提供了等比缩放的功能,可以在不需修改游戏代码的前提下把游戏图像等比显示到不同的手机上;但是因为长宽比不同的原因,可能在手机的左右两边或上下两边留下点黑边。
上面两种多分辨率适配方案都有缺点,不是很爽。所以亲自抄刀整了个“Cocos2d-x 全屏等比缩放 多分辨率适配方案”, 哇咔咔——拿Helloworld当小白鼠,上图:
![]() |
![]() |
![]() |
上面的效果在不同分辨率上保持了长宽比,在不同分辨率上都实现的全屏效果,血条、控制杆等UI元素也都保持在了屏幕区域内。
其实方法很简单,在保持长宽比的前提下缩放图像盖满屏幕,然后用代码获取触摸屏上下左右和斜方向和屏幕边缘相交的8个点+中心点的坐标位置作为定位点,所有血条等UI元素根据9个定位点在屏幕内定位。这样就可以了。
示例源码下载,代码基于cocos2d-1.0.0-x-0.9.0,对引擎部分做了点修改,使用方法详见readme.txt。
相关文章推荐
- 让Cocos2d-x实现全屏等比缩放适配Android各种分辨率
- android适配各种分辨率的问题
- Android界面适配通用工具(RelayoutTool)-根据分辨率等比例缩放
- android适配各种分辨率的问题
- cocos2d-x android各机型 分辨率适配
- (转)android适配各种分辨率的问题
- Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
- Android webview 加载 html页面 实现 不同分辨率 不同 dpi 缩放自适应处理
- 转载 Android 实现图片的自动缩放,适应分辨率不同的手机
- cocos2d-x 之 适配分辨率全屏的方法
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
- android适配各种机型及其分辨率
- Android 实现图片的自动缩放,适应分辨率不同的手机
- cocos2d-x完美适配了各种分辨率
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
- cocos2d-x 跨平台android分辨率适配
- android适配各种分辨率的问题
- Android 实现图片的自动缩放,适应分辨率不同的手机
- android适配各种分辨率的问题
- android适配各种分辨率的问题