Coco2D-JS ccui.Text 设置文本区域大小

Coco2D-JS ccui.Text 设置文本区域大小_第1张图片
BingWallpaper-2016-11-12.jpg

正文:

创建一个ccui.Text添加到节目上,发现是这样的。:

Coco2D-JS ccui.Text 设置文本区域大小_第2张图片
Snip20170621_47.png

文本超出的应该现实的区域。我就看Coco2D-JS的API,找到一个方法:


Coco2D-JS ccui.Text 设置文本区域大小_第3张图片
Snip20170621_48.png

但是但是设置后发现没效果,就纳闷了。怎么回事???

var label = initCcuiText(str,gameConfig.g_font,40,cc.p(this.size.width/2,this.size.height/2+50),cc.hexToColor("#562304"),cc.TEXT_ALIGNMENT_CENTER); label.setTextVerticalAlignment(cc.VERTICAL_TEXT_ALIGNMENT_CENTER);
label.setTextAreaSize(cc.size(700,260));
this.addChild(label);

极细发现这个API,有个判断处理:


Coco2D-JS ccui.Text 设置文本区域大小_第4张图片
Snip20170621_50.png

估计是官方的一个BUG吧,找半天没找到设置这个属性的方法。估计判断搞错了。我就直接在外面强行赋值为false。

var label = initCcuiText(str,gameConfig.g_font,40,cc.p(this.size.width/2,this.size.height/2+50),cc.hexToColor("#562304"),cc.TEXT_ALIGNMENT_CENTER); label.setTextVerticalAlignment(cc.VERTICAL_TEXT_ALIGNMENT_CENTER);
label._ignoreSize = false;
label.setTextAreaSize(cc.size(700,260));
this.addChild(label);

但是这要注意,设置完后。记得把文本上下对齐也设置一下。

······················
         ························
label.setTextVerticalAlignment(cc.VERTICAL_TEXT_ALIGNMENT_CENTER);
label.setTextHorizontalAlignment(cc.TEXT_ALIGNMENT_CENTER);

上面的initCcuiText方法,是我自己的写的快速构造方法,喜欢就拿去用::

function initCcuiText (string,fontName,size,point,color,ALIGNMENT) {
    var text = new ccui.Text(string,fontName,size);
    text.setPosition(point);
    if (color != undefined) {
        text.setTextColor(color);
    }
    if (ALIGNMENT != undefined) {
        text.setTextHorizontalAlignment(ALIGNMENT);
    }

    return text;
}

你可能感兴趣的:(Coco2D-JS ccui.Text 设置文本区域大小)