当我更新textfield.text时,文本变得不可见

时间:2014-01-30 04:50:46

标签: actionscript-3 flash flash-cs5

我已经尝试了谷歌搜索这么久了,但我找不到解决这个问题的方法。

我有一个文本字段,有3个字符串和3个变量。当变量发生变化时,我希望textField显示变量的更新版本,因此我使用textfield.text =“新更新的文本”,但文本不可见。更新事件触发后,文本“消失”,但它仍然存在如果我跟踪(textField.text)它输出正确的信息。我也嵌入了文本。 非常感谢任何帮助

public var infoBox:TextField = new TextField  ;
public var myFormat:TextFormat = new TextFormat;

     myFormat.color = 0xAA0000;
        myFormat.size = 30;
        myFormat.font = "Font1";
        myFormat.italic = false;
        myFormat.align = TextFormatAlign.LEFT;
        infoBox.text = "BonusbonusDamage:  " + bonusDamage + "\nFlame:  " + flame + "\nSticky" + sticky;
        infoBox.type = "dynamic";
        infoBox.width = 300;
        infoBox.height = 150;
        infoBox.border = true;
        infoBox.borderColor = 0xFFFFFF;
        infoBox.background = true;
        infoBox.backgroundColor = 0x000000;
        infoBox.wordWrap = true;

        infoBox.setTextFormat(myFormat);

        infoBox.x = 25;
        infoBox.y = 20;
        addChild(infoBox);

public function updateText()
    {

        infoBox.text = "BonusbonusDamage:  " + bonusDamage + "\nFlame:  " + flame + "\nSticky" + sticky;

这就是文本变得不可见的地方,即使它的.visible是真的而且.alpha是100。

    }

1 个答案:

答案 0 :(得分:0)

请尝试infobox.embedFonts = true;,因为Font1显然是嵌入字体。这是文本字段中自定义字体的一个众所周知的问题。

TextField.embedFonts manual

编辑:是的,您正在使用setTextFormat(),只要您替换text属性,就会清除此格式。请改用defaultTextFormat属性。

infoBox.defaultTextFormat=myFormat;