溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

分辨率自適應(yīng)方案(不產(chǎn)生黑邊)

發(fā)布時(shí)間:2020-07-07 10:17:16 來源:網(wǎng)絡(luò) 閱讀:6400 作者:arrowyoung 欄目:開發(fā)技術(shù)

我自己的一點(diǎn)心得,由于橫屏的體驗(yàn)現(xiàn)階段并不好,所以這個(gè)方案只對(duì)豎屏.


找到launcher文件夾下的egret_loader.js文件(EGRET 1.6)

修改代碼如下

var  context = egret.MainContext.instance;
    context.touchContext = new egret.HTML5TouchContext();
    context.deviceContext = new egret.HTML5DeviceContext();
    context.netContext = new egret.HTML5NetContext();
    var stageWidth = document.documentElement.clientWidth;
    var stageHeight = document.documentElement.clientHeight;
    var width;
    var height;
    var scale;
    if (stageWidth > stageHeight) {
        width = 540;
        height = 960;
    } else {
        width = stageWidth;
        height = stageHeight;
    }

    scale = 540 / width;
    egret.StageDelegate.getInstance().setDesignSize((width * scale)>>0, (height * scale)>>0);
    context.stage = new egret.Stage();
    context.stage.scaleMode = egret.StageScaleMode.SHOW_ALL;


基本思想:得到瀏覽器的寬高,然后把寬度定死成540(之所以選擇540,是我多次試驗(yàn)后比較好的一個(gè)寬度,具體就不詳解了,這個(gè)數(shù)值也可以是其它),高度由實(shí)際寬度和540的比例,算出來的適配540的值,然后縮放規(guī)則直接用SHOW_ALL,這樣在瀏覽器內(nèi)就不產(chǎn)生黑邊了.


注:這個(gè)方案高度是動(dòng)態(tài)的,所以游戲邏輯里要對(duì)這個(gè)高度做一些自適應(yīng)的規(guī)則.

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI