Flash mc上的transform.colortransform之后,可以';t更改文本字段';mc中的s颜色

Flash mc上的transform.colortransform之后,可以';t更改文本字段';mc中的s颜色,flash,actionscript-3,textfield,movieclip,colortransform,Flash,Actionscript 3,Textfield,Movieclip,Colortransform,我试图在游戏中更改电影剪辑中文本字段的颜色。我使用以下方法更改电影剪辑的颜色: var newColor:ColorTransform=newcolortransform()//变色 newColor.color=0x000000 circle.transform.colorTransform=newColor 这个很好用。但是,我使用这个.addChild()向circle添加了一个textfield,名为a(public var a:textfield=new textfield(),我已将

我试图在游戏中更改电影剪辑中文本字段的颜色。我使用以下方法更改电影剪辑的颜色:

var newColor:ColorTransform=newcolortransform()//变色

newColor.color=0x000000

circle.transform.colorTransform=newColor

这个很好用。但是,我使用这个.addChild()向circle添加了一个textfield,名为a(public var a:textfield=new textfield(),我已将其设置为白色)。 当我尝试使用A.textColor=0xFFFFFF更改A的文本颜色时,在使用transform.colortransf之后,圆的颜色仍然是黑色,A也变为黑色。无论我多久打一次电话来更改A的文本颜色,它都会保持黑色

有人知道会出什么问题吗

谢谢,
FF

颜色变换应用于MovieClip的所有内容(和子内容)。无论TextField(或任何其他DisplayObject子项)是什么颜色,它都将呈现黑色。你的选择是:

  • 将黑色颜色变换应用于要变黑的圆,而不是父MovieClip

  • 将文本字段移出父MovieClip


这与几何变换相同-如果旋转父movieclip,则内部的子movieclip都会相应旋转。

因此,一旦将颜色变换应用于电影剪辑,我就无法更改文本字段的颜色了?简短回答,是的。您将更改文本的颜色,但看不到它,因为父对象的颜色变换将隐藏更改。您需要做的是将圆和文本子对象设置为同一父对象,然后仅对圆应用颜色变换。