TextField 的文本不会更新,但其他属性会更新

TextField's text does not update, but the other properties do

我有一个 class 和一个 TextField 作为一个 属性。此文本字段已添加到舞台并具有一个数字作为文本 属性 的值。我还有一个方法,必须改变这个数字:

public function decrementCooldown()
{
    cdText.text = (--cd.value != 0)? cd.value : "";
}

但是,它没有任何改变。我已经这样修改了代码:

public function decrementCooldown()
{
    cdText.text = (--cd.value != 0)? cd.value : "";
    cdText.x -= 100;
}

这导致我的文本字段向左移动,但其文本保持不变。

然后,我试着追踪修改前后的文本。输出的第二行包含我想要出现在屏幕上的数字,它比第一行的数字少 1。

我想知道如何解决我的问题。

好吧,这对我来说真的很奇怪,但问题出在我在 TextField.

上的 DropShadowFilter

我已经解决了这个问题,方法是在修改文本之前添加两行清除 filters 数组,然后再添加一个 DropShadowFilter

public function decrementCooldown()
{
    cdText.filters = [];
    cdText.text = (--cd.value != 0)? cd.value : "";
    cdText.filters = [new DropShadowFilter()];
}

虽然看起来像一个错误。