记录白鹭接玩一玩的坑

记录白鹭接玩一玩的坑

1.游戏内所有文字往下偏移

这是因为 egret.brick.js 在将 TextField 转为 BKTextField 时计算高度有问题,修改如下:

// 修改前
BKCanvasRenderer.prototype.renderText = function (node, context) {
    ...
    context.fillText(text, x + context.$offsetX, -y + context.$offsetY + node.height);
}
// 修改后
BKCanvasRenderer.prototype.renderText = function (node, context) {
    ...
    context.fillText(text, x + context.$offsetX, -y + context.$offsetY + node.height + context.lineWidth + 2);  // 解决文字整体下移的问题
}

 

2.WebSocket 无法使用, 增加和修改: scripts/bricks/bricks.ts文件

let key = ''
for (let i = 0; i < jsonData.initial.length;) {
    if (jsonData.initial[i] == 'js/socket.js' || jsonData.initial[i] == 'js/socket.min.js') {
        key = jsonData.initial[i]
        jsonData.initial.splice(i, 1)
        break
    } else {
        i++
    }
}

for (let i = 0; i < jsonData.initial.length; i++) {
    if (jsonData.initial[i] == "js/egret.js" || jsonData.initial[i] == 'js/egret.min.js') {
        jsonData.initial.splice(i + 1, 0, key)
        break
    }
}

let content = '';
content += `BK.Script.loadlib("GameRes://js/promise.js");\n`;
for (let item of jsonData.initial) {
    if (item != 'js/promise.js' && item != 'js/promise.min.js') {
        content += `BK.Script.loadlib("GameRes://${item}");\n`
    }
    if (item == "js/socket.js" || item == 'js/socket.min.js') {
        content += `BK.Script.loadlib("GameRes://egret.bricks.js");\n`
    }
}

 

3.egret除了默认字体外,其他字体会报错,我从电脑系统中提取字体放入resource文件下导入, 修改egret.bricks.js文件:

//修改前
var path = fontFamily.indexOf("GameRes://") >= 0 || fontFamily.indexOf("GameSandBox://") >= 0 ? fontFamily : "GameRes://" + fontFamily;

//修改后
var path = "GameRes://resource/assets/font/" + fontFamily.toLowerCase() + ".ttf"

 

posted @ 2018-12-07 15:30 HaoK 阅读( ...) 评论( ...) 编辑 收藏
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值