cocos2d-x 屏幕适配

AppDelegate.cpp----bool AppDelegate::applicationDidFinishLaunching()

auto glview = director->getOpenGLView();
glview->setDesignResolutionSize(designResolutionSize.width, designResolutionSize.height, ResolutionPolicy::SHOW_ALL);
enum class ResolutionPolicy
{
    EXACT_FIT,
    NO_BORDER,//无黑边,高宽均缩放至全屏
    SHOW_ALL,//全显示,高宽至多一个有黑边,例如16:9在ipad显示,则左右无黑边,上下游黑边
    FIXED_HEIGHT,//高适配(宽度方向(横向)可能显示不全)
    FIXED_WIDTH,//宽适配(高度方向(竖向)可能显示不全)
    UNKNOWN,
};

除去以上引擎设计好的适配方式,在实际项目中,适配的需求往往比较复杂,比如有些部件可以随着屏幕缩放,有些则不需要缩放,那么这个时候就要用到以下设计.
例:贴着屏幕四角的模块,比如摇杆,技能按钮,很多时候不需要缩放,但要保证在四角,这个时候在设置模块位置的时候就要获取屏幕显示的大小去设置。
界面背景需要填满全屏?可以做一张4:3的大图,在ipad上正常显示,在手机上使用宽适配,显示中间区域。
根据不同模块的要求选用不同的缩放和设置坐标,从而实现总体的适配需求。
PS:由于现在市面上出现了很多安卓手机有虚拟按键,导致原本16:9的屏幕比例发生了变化,导致显示界面和触摸事件的坐标会发生错乱,所以屏幕适配至关重要。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,048评论 25 709
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,342评论 4 61
  • 1.尺寸适配1.原因 iOS7中所有导航栏都为半透明,导航栏(height=44)和状态栏(height=20)不...
    LZM轮回阅读 6,384评论 1 4
  • 周末看了想了很久的敦刻尔克。我是最近才开始有看电影的耐性和心情的,电影是一种表演和呈现的艺术,好的电影就是一种美,...
    chloe16阅读 261评论 0 0
  • 地方发的是
    七月上的冥王星阅读 142评论 0 0

友情链接更多精彩内容