Cocos2d js如何自动换行ccLabel

时间:2017-07-17 10:43:30

标签: javascript html5 cocos2d-x cocos2d-x-3.0 cocos2d-js

我创建了一个标签并尝试将其包装起来。 当文本中出现空格时它的包装,但是当文本中出现逗号(,)时它也会包装。

我不想在逗号出现时换行。

任何帮助。

代码 -

    var label = new cc.LabelTTF("Get 100% Welcome Bonus upto Rs. 1,000 on your first deposit.", "Arial", 30);
    label.setPosition(cc.p(this.width / 2, this.height / 2));
    label.setScale(0.5);
    label.setColor(cc.color(255, 0, 0));
    label._setBoundingWidth(520);
    this.addChild(label, 1000);

Screenshot

1 个答案:

答案 0 :(得分:1)

我找到了解决这个问题的方法

Cocos2d使用正则表达式来包装单词。所以我们需要在正则表达式中添加逗号。

cc.LabelTTF._lastWordRex = /([a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]+|\S)$/;
cc.LabelTTF._lastEnglish = /[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]+$/;
cc.LabelTTF._firsrEnglish = /^[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû]/;

cc.LabelTTF._lastWordRex = /([a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû,]+|\S)$/;
cc.LabelTTF._lastEnglish = /[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû,]+$/;
cc.LabelTTF._firsrEnglish = /^[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôû,]/;

把它放在main.js