今天腦洞一下,用H5調(diào)用外部字體的方法是否可以使用在白鷺上岁歉。測(cè)試了一下發(fā)現(xiàn)可以使用得运,在這分享一下方法:首先,在樣式表中定義外部使用的字體:
@font-face {
font-family:"hanti";
src: url("linxintijian.ttf");
}
然后在字體標(biāo)簽的fontfamily屬性中使用這個(gè)字體就行了锅移,以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);
在瀏覽器中測(cè)試:
在手機(jī)上測(cè)試(安卓微信瀏覽器):
ios設(shè)備沒經(jīng)過測(cè)試熔掺,已知ttc類型字體不支持
在白鷺社區(qū)發(fā)了之后,白鷺官方在下面有回答:
yjtx 官方團(tuán)隊(duì) | 3 小時(shí)前 你可以測(cè)試下如果字體加載完成在游戲開始后還行不行
測(cè)試一下非剃,還真不行……由于字體加載比白鷺加載慢置逻,導(dǎo)致字體沒應(yīng)用上,加個(gè)字體監(jiān)聽:
<script>
document.fonts.ready.then(success, fail);
function success(){
egret.runEgret({renderMode:"webgl", audioType:0});
}
function fail(){
}
</script>
當(dāng)然可以用更好的方法讓字體和白鷺的資源同時(shí)讀取备绽,再加個(gè)加載界面就完美了……