cocos creator 屏幕适配问题

我手机是s8+,我竖屏的适配差不多就是这样做的,但是没发现你说的问题 - -

能不能上个简单的demo我看下

你现在是什么版本啊
1.10吗还是2.0

var DesignWidth = 720;
var DesignHeight = 1280;
let size = cc.view.getFrameSize();
if (cc.sys.OS_ANDROID == cc.sys.os || cc.sys.OS_IOS == cc.sys.os) {
//这是手机
if ( (size.width / size.height) == (1125/2436) ) { //判断是不是iphonex
this.isIphoneX = true;
} else {
this.isIphoneX = false;
}
if ( (size.width / size.height) == (411 / 845) ) { //判断是不是三星手机
//是三星全面屏
} else {
//不是
}
if ( (size.width/size.height) >= (DesignWidth/DesignHeight) ) {
//宽度超出
console.log(“宽度超出”);
var width = size.width * (DesignHeight / size.height);
cc.view.setDesignResolutionSize(width, DesignHeight, cc.ResolutionPolicy.FIXED_HEIGHT);
} else {
//高度超出
console.log(“高度超出”);
var height = size.height * (DesignWidth / size.width);
cc.view.setDesignResolutionSize(DesignWidth, height, cc.ResolutionPolicy.FIXED_WIDTH);
console.log(“当前画布高度”, height);
}
} else {
cc.view.setDesignResolutionSize(DesignWidth, DesignHeight, cc.ResolutionPolicy.FIXED_WIDTH);
}

我是这么写的, 借鉴了论坛的一个大神, 正好我是三星note8 把背景图变长 显示没啥问题

2赞

我想问下你的cocos creator版本是什么?

1.10就开始用了 现在2.0.4

那我用用看.我是最简单的一个背景图片weight设置为0都没办法铺满屏幕.但是1.10的时候是可以铺满的

我没有吧背景图weight设为0过, 这个方法就是如果是全面屏 就会把canvas的高度变长(我自己项目的高度是1280, 如果是三星 canvas的高度就会变为1480.29, iphonex就是1559) 然后我背景图的高度是1560 这样就不会有黑边了. 一些按钮什么的用的weight 跟canvas对齐

creator 2.1的有试过么,我这里没法适配,之前1.9.1 用过该方法可以。

看看这个:https://blog.csdn.net/Mr_JiaTao/article/details/108647637