屏幕适配文档
cocos creator 适配方案:https://docs.cocos.com/creator/manual/zh/ui/multi-resolution.html
设计分辨率
设计分辨率一般使用1334*750的尺寸 宽高比为1.778
我的解决方案
- 根据屏幕分辨率与设计分辨率的宽高比的不同动态选择fit_height 还是 fit_width,这需要修改引擎源码
applySettings: function () {
var frameSize = cc.view.getFrameSize();
var designRes = this._designResolution;
var oldRatio = frameSize.width/frameSize.height;
var newRatio = designRes.width/designRes.height;
cc.log('newRatio ',newRatio,' oldRatio ',oldRatio)
cc.log('frameSize ',frameSize,' designRes ',designRes)
var ResolutionPolicy = cc.ResolutionPolicy;
var policy;
if (this.fitHeight && this.fitWidth) {
policy = ResolutionPolicy.SHOW_ALL;
}
else if (!this.fitHeight && !this.fitWidth) {
policy = ResolutionPolicy.NO_BORDER;
}
else if (this.fitWidth) {
if(newRatio < oldRatio){
policy = ResolutionPolicy.FIXED_HEIGHT;
}else{
policy = ResolutionPolicy.FIXED_WIDTH;
}
}
else if (this.fitHeight) {// fitHeight
if(newRatio < oldRatio){
policy = ResolutionPolicy.FIXED_WIDTH;
}else{
policy = Resoluti