cocoscreator自动适配,横竖屏,平板模式,自定义模式。最好的办法,就是手动设置位置x,y的坐标。不然各种模式,又是竖屏,又是横屏,又是平板,又是刘海屏,各种适配,还是在适配的基础上+手动写位置比较好。

1 设置横竖屏

let fSize = cc.view.getFrameSize();
if (isLandscape) {
    // 横屏
    cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE);
    if (fSize.width < fSize.height) {
        cc.view.setFrameSize(fSize.height, fSize.width);
    }
} else {
    // 竖屏
    cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT);
    if (fSize.width > fSize.height) {
        cc.view.setFrameSize(fSize.height, fSize.width);
    }
}

2 Canvas设置designResolution和适配类型

let canvas = cc.Canvas.instance;
let isLandscape = false;
canvas.designResolution = isLandscape ? cc.size(1920, 1080) : cc.size(1080, 1920);
let whNum = cc.winSize.width / cc.winSize.height;
canvas.fitHeight = whNum > 9 / 16;
canvas.fitWidth = whNum < 9 / 16;
// 平板横屏适配
if (isLandscape && whNum < 16 / 9) {
    canvas.fitHeight = false;
    canvas.fitWidth = true;
}

3 仅在 Web 平台下有效

onListenerWebWinSize() {
    cc.view.setResizeCallback(() => {
        // 更新界面,背景大小
    });
}

标签: none

添加新评论