请问Cocos Creator 里怎样用代码实现给一个Label设置字体为“Arial”

对,就这样简单一个问题。

cc.find(“H/show/r1/zyk”).getComponent(cc.Label).font = “Arial”; 这样行吗?

不是这样引用:

而只是设定一下字体为“Arial” ,不要上传字体文件,行吗?

目前默认使用的就是 Arial 字体,但是还不支持指定字体名字,后面版本会提供接口。

现在有了吗?

现在有了吗?

还没有 asdf

请问有了吗?。

可以试试这个:

let labelNode = cc.find("PATH_OF_NODE");
let label = labelNode.getComponent(cc.Label);
label.useSystemFont = true;
if (label._sgNode) {
    label._sgNode.setFontFileOrFamily('Helvetica');
}

label._sgNode 是啥意思?

想請教一下子 @zilong 大神,

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

例如…

var ntxt = new cc.Node( 'test' );
var label = ntxt.addComponent( cc.Label );
ntxt.color = cc.Color.RED;
//這邊要如何改變Label的字體?
label.string = "i'm dynamic Label in Canvas";

cc.find( "Canvas" ).addChild( ntxt );

有一个变通的办法,把设置为其他的字体的Label保存成一个Prefab,然后实例化这个Prefab就可以了。

目前的確是這麼做的 XD

只是這樣不太方便,還是希望有能用代碼implement的方法

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";
});

目前默认使用的就是 Arial 字体,但是还不支持指定字体名字,后面版本会提供接口。
1.5正式版会加进来么?

会的。

PR is here: https://github.com/cocos-creator/engine/pull/1613

The feature will be added into v1.5 soon.

1赞

赞赞赞~~~~

謝謝 @zilong 大神 :+1:

想請問EditBox支持自定字體的,1.5版會有嗎?

EditBox 暂时不会有,后面版本会考虑添加进来。

1赞

请问,大家有遇到字体很大有点模糊,看不清楚的情况吗?请问知道是什么原因吗?