2

MovieClip(1) (青に設定 - 50% アルファ) を MovieClip(2) (赤に設定 - 50% アルファ) の上に移動し、その後 MovieClip(1) がその色の値を取得する方法を見つけようとしています。 MovieClip(1) と MovieClip(2) の初期色の混合に等しい (50% のアルファ レベルを維持)。

私は立ち往生しています-脳がフリーズし、私を近づける解決策を見つけることができないようです!

誰にも解決策のアイデアはありますか?

私にいくらかの前進を提供していただければ幸いです。

4

3 に答える 3

1

あなたが望むのは yourMC.transform.colorTransform です

ここにそれを説明するいくつかの前進があります。

于 2012-08-21T16:07:40.953 に答える
0

どちらの MovieClip オブジェクトも、それぞれのcolorTransformプロパティで定義された色を持っている必要があります。

var ctf :ColorTransform = mc1.transform.colorTransform;
    ctf.color = color;            
mc1.transform.colorTransform = ctf;

次に、最初の MovieClip のオブジェクトの各プロパティに、2 で割った 2 番目の MovieClip の同じプロパティとの差をColorTransform追加することにより、2 つのオブジェクトを新しいオブジェクトに結合します。ColorTransform

var ctf1 :ColorTransform = mc1.transform.colorTransform,
    ctf2 :ColorTransform = mc2.transform.colorTransform;        

var props :Array = ["redOffset", "redMultiplier", "greenOffset", "greenMultiplier", "blueOffset", "blueMultiplier"];
for each(var p :String in props)
    ctf1[p] += (ctf2[p] - ctf1[p]) * a;

mc1.transform.colorTransform = ctf1;

これは、それ自体で説明するコード スニペットです: http://wonderfl.net/c/fQ1i

于 2012-08-22T00:55:27.043 に答える