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

BingWallpaper-2016-11-12.jpg

正文:

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

Snip20170621_47.png

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


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,有个判断处理:


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;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,860评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,018评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,198评论 4 61
  • 莎士比亚说,一切过往皆是序章,所以,以此为题,大学共写了七章标注令自己颤动的分别,后来不愿再面对。可是,过往方是常...
    雷极谛阅读 364评论 0 0
  • 眼睛临摹…
    wu哦阅读 129评论 0 0