白鹭引擎使用外部字体(ttf、otf等),非转fnt

今天脑洞一下,用H5调用外部字体的方法是否可以使用在白鹭上。测试了一下发现可以使用,在这分享一下方法:首先,在样式表中定义外部使用的字体:

@font-face {
            font-family:"hanti";
            src: url("linxintijian.ttf");
            }

然后在字体标签的fontfamily属性中使用这个字体就行了,以sample为例:

        let colorLabel = new egret.TextField();
        colorLabel.textColor = 0xffffff;
        colorLabel.width = stageW - 172;
        colorLabel.textAlign = "center";
        colorLabel.text = "Hello Egret";
        colorLabel.size = 24;
        colorLabel.x = 172;
        colorLabel.y = 80;
        colorLabel.fontFamily ="hanti";
        this.addChild(colorLabel);

在浏览器中测试:

白鹭引擎使用外部字体(ttf、otf等),非转fnt_第1张图片
QQ20161226-171811.png

在手机上测试(安卓微信浏览器):

白鹭引擎使用外部字体(ttf、otf等),非转fnt_第2张图片
WechatIMG100.jpeg

ios设备没经过测试,已知ttc类型字体不支持

在白鹭社区发了之后,白鹭官方在下面有回答:
yjtx 官方团队 | 3 小时前 你可以测试下如果字体加载完成在游戏开始后还行不行
测试一下,还真不行……由于字体加载比白鹭加载慢,导致字体没应用上,加个字体监听:

    

当然可以用更好的方法让字体和白鹭的资源同时读取,再加个加载界面就完美了……

你可能感兴趣的:(白鹭引擎使用外部字体(ttf、otf等),非转fnt)