如何在ActionScript 3.0中在运行时更改Label的颜色?

时间:2012-06-21 16:23:12

标签: actionscript-3 label mxml

我收到以下错误:

1119: Access of possibly undefined property color through a reference with static
type mx.controls:Label.

关于这一点的是,在MXML中,color是Label的一个属性。但如果我试着说:

lblUpgrade.color = "#000000";

它会抛出此错误。我一直试图找到最后45分钟的解决方法。我怎样才能在运行时设置它?谢谢!

4 个答案:

答案 0 :(得分:11)

Label没有color属性,而是具有可以这样设置的颜色样式:

lblUpgrade.setStyle("color","#000000");

答案 1 :(得分:5)

在as3

中可以像这样访问样式
lblUpgrade.setStyle("color","#000000");

答案 2 :(得分:4)

颜色是样式而非属性,您可以使用setStyle进行设置。同样使用as3,您可以使用0x代替#作为颜色,但也许适用于样式。

lblUpgrade.setStyle(“color”,“0x000000”);

答案 3 :(得分:2)

哇,我发现这篇文章后,我已经挣扎了45分钟。我使用的是Adobe CS6(不要问为什么!),最终对我有用的唯一方法是:

/* Create a new TextFormat object, 
which allows you to set multiple text properties at a time. */ 

var tf:TextFormat = new TextFormat(); 
tf.color = 0xFF0000; 

/* Apply this specific text format (red text) to the Label instance. */ 
a_label.setStyle("textFormat", tf);

希望这有助于某人。资料来源:Adobe Help Center

您还可以使用TextFormat更改其他属性,例如Font, Size等。