【问题标题】:After transform.colortransform on mc, can't change textfield's color within mc在 mc 上的 transform.colortransform 之后,不能在 mc 中更改文本字段的颜色
【发布时间】:2012-02-12 13:50:17
【问题描述】:

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

var newColor:ColorTransform = new ColorTransform();//颜色变化

newColor.color = 0x000000;

circle.transform.colorTransform = newColor;

这很好用。但是,我使用 this.addChild() 向圆圈添加了一个文本字段,称为 A(public var A:TextField = new TextField(),我已将其设置为白色)。 当我尝试使用 A.textColor = 0xFFFFFF 更改 A 的文本颜色时,使用 transform.colortransform 后,圆圈的颜色仍然是黑色,A 也变成黑色。无论我多久调用一次更改 A 的文本颜色,它都保持黑色。

有人知道可能出了什么问题吗?

谢谢, FF

【问题讨论】:

    标签: flash actionscript-3 textfield movieclip colortransform


    【解决方案1】:

    ColorTransforms 应用于 MovieClip 的所有内容(和子项)。 TextField(或任何其他 DisplayObject 子项)是什么颜色并不重要,它都会呈现黑色。您的选择是:

    • 不将黑色颜色变换应用到父影片剪辑,而是应用到要变黑的圆圈。

    • 将 TextField 移出父影片剪辑

    这和几何变换是一样的——如果你旋转父动画剪辑,里面的子动画也会相应地旋转。

    【讨论】:

    • 那么,一旦对影片剪辑应用了颜色变换,我就不可能改变文本字段的颜色了吗?
    • 简短回答,是的。您将更改文本的颜色,但看不到它,因为父级的颜色变换将隐藏更改。您需要做的是使圆圈和文本成为同一个父级的子级,然后仅对圆圈应用颜色变换。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-18
    • 2012-12-23
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    相关资源
    最近更新 更多