使用i18n做了多國語系,Label要怎麼切換字型?

使用版本:1.5 beta-2

現在使用了i18n,配合修改過的Sprite來切換不同語系Image,

但現在有個問題,
因為不同語系使用的 TTF 字型是不同的,
我該如何使用代碼來切換?

請問現在能用代碼,使用assets裡的 TTF/ BMF 字體做為 Label的字體嗎?

例如…



var ntxt = new cc.Node( 'test' );
cc.find( "Canvas" ).addChild( ntxt );

var label = ntxt.addComponent( cc.Label );
ntxt.color = cc.Color.RED;

//這邊要如何改變Label的字體?
label.string = "i'm dynamic Label in Canvas";


還請大神們指點一下,謝謝

其实这个和多语言无关,楼主的意思怎么在代码中换字体吧,label.font = “your font res path”; 就可以换 有个你可以在当前脚本中cc.Font属性,再在编辑器中把你的字体拖进去,然后用label.font赋值就可以了,还可以通过cc.loader.loadRes 加载进来赋值

1赞

這個方式不行…
label.font = "your font res path";
會跳出Error 4000 warning

必需用


let txt = cc.find( 'Canvas/Items/ShowText' ).getComponent( cc.Label );
cc.loader.loadRes( 'fonts/04b_08', function(error, res)
{
   if( error ) { cc.log( 'Error: ' + error ); return; }
   txt.font = res;
   txt.string = "I'am test font by load res";
});

謝謝您的提點