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

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

作者: Volsifly | 来源:发表于2016-12-26 21:45 被阅读0次

今天脑洞一下,用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);

在浏览器中测试:

QQ20161226-171811.png

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

WechatIMG100.jpeg

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

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

    <script>
        document.fonts.ready.then(success, fail);
        function success(){
            egret.runEgret({renderMode:"webgl", audioType:0});
        }
        function fail(){
        }
    </script>

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

相关文章

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/xdhsvttx.html