跑馬燈的動態文本的大小(顯示字元) 無法正常顯示

  • Creator 版本: 2.3.3

製作跑馬燈時 每一次載入的訊息 不會自動更新長度
就算更新之後 也會被裁切掉 請問這是甚麼原因呢?

run () {
        this.node.getComponent(cc.Label).string = this.marqueData;
        this.node.width = this.marqueData.length*25;
        this.node.getComponent(cc.Label)._forceUpdateRenderData();
        this.marqueeWidth = this.marqueData.length*25;
        this.marqueeTime = this.marqueData.length/10*2;
        cc.log(this.marqueData.length, this.marqueeWidth, this.marqueeTime, this.marqueeInitPosition, this.node.width)

        cc.tween(this.node)    
            .to(this.marqueeTime, { position: cc.v2(-((this.marqueData.length)*(this.node.getComponent(cc.Label).fontSize)+this.marqueeWidth), this.node.y)})
            .call(() => {
                this.node.setPosition(cc.v2(this.marqueeInitPosition,this.node.y));
                this.run();
            }) 
        .start()
    },

cc.label只有char模式才能显示任意长度,none模式和bitmap模式最长只显示2048,这是贴图的最大为2048*2048决定的。或者你选用bmfont那种,不要用系统文本

会自动更新的,不建议手动更新!
监听更新事件然后再做后续处理, this.node.on(cc.Node.EventType.SIZE_CHANGED, () => { // TODO });

感謝 原來是這個原因

謝謝 我試試看

现在目前可以做拼接处理,但是前后单词可能会明显的空两个字符