更改MovieClip Actionscript 3的填充颜色

Dun*_*geo 7 colors instance actionscript-3 fill

我想问一下,如何只更改舞台上实例的填充颜色 - 我可以通过使用ColorTransform对象来实现它,但它会改变整个实例的颜色,而不仅仅是填充颜色.我想只改变填充颜色,而不是笔触颜色.有谁能够帮我?

这是我的代码:

function paint(){
    var myColorTransform:ColorTransform = new ColorTransform();

    myColorTransform.color = someColorNumber;

    coloredObject.transform.colorTransform = myColorTransform;

}
Run Code Online (Sandbox Code Playgroud)

Jam*_*Hay 5

一旦你绘制了一个形状就行了,因为动作脚本无法确定什么是笔划和什么是填充.

你有几个选择.

将填充和描边分隔为单独的影片剪辑,并将颜色转换设置为仅应用于填充.

要么

如果它是一个简单的形状,请使用Graphics对象绘制它,您可以在其中指定填充颜色和笔触颜色.

可能的引擎盖是我的首选方法,因为形状可能很复杂,而将它放在fla中可以让设计师能够更好地控制它而不是开发人员.虽然稍微复杂一点,但是工作要多一些.


Alc*_*nja 5

我知道游戏有点晚了,但是我遇到了同样的问题,并且修改得有些不同.它可能没有任何帮助,因为它只能在有限的情况下工作*,但我从我的形状开始填充白色和抚摸黑色.这样,您可以应用具有RGB乘数的颜色转换,将白色淡化为所需的颜色,使黑色边框保持原样.因此,要使您的对象变为红色(带有黑色边框),请使用:

function paint() {
    shape.transform.colorTransform = new ColorTransform(1, 0, 0);
}
Run Code Online (Sandbox Code Playgroud)

或者Stack Overflow橙色(仍然带有黑色边框):

function paint() {
    shape.transform.colorTransform = new ColorTransform(0.996, 0.478, 0.082);
}
Run Code Online (Sandbox Code Playgroud)

*只有你想要一种黑色边框的单色才能使用它.