1

私はActionscriptを初めて使用しadd child、で呼び出されるオブジェクトの色を変更するためのサポートが必要です。ユーザーがコンボボックスから目的の色を選択したら、色を変更する必要があります。

//MY CODE

if (e.target.value == "blue")

{

//need to change to this (0x0000FF)

//enter code here

}

どんな助けでも大歓迎です!

4

2 に答える 2

1

色変換オブジェクトを使用してみてください。

var redAmount:Number = 0;
var greenAmount:Number = 0;
var blueAmount:Number = 1;
var alphaAmount:Number = 1;
var redOffset:Number = 0;
var greenOffset:Number = 0;
var blueOffset:Number = 0;
var alphaOffset:Number = 0;
yourDisplayObject.transform.colorTransform = new ColorTransform(redAmount, greenAmount, blueAmount, alphaAmount, redOffset, greeenOffset, blueOffset, alphaOffset);

最初の4つの変数は乗数です。既存の色の値を取得し、その数を掛けるように調整します。したがって、色を1/2に減らすには、0.5を使用します。黒を作成するには、すべてを0に設定します。何も変更しない場合は、すべて1にします。

次の4つの変数は、すべてのピクセルのカラー量をその量だけ増減します。したがって、色を特定の16進値、たとえば0xFFCC33にヒットさせるには、次のようにします。

yourDisplayObject.transform.colorTransform = new ColorTransform(0, 0, 0, 1, 0xFF, 0xCC, 0x33, 0x00);

さらにヘルプが必要な場合は、Adobeのドキュメントへのリンクを次に示します。http: //help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/geom/ColorTransform.html

すぐに色を変更するのではなく、徐々に色を変更したい場合は、greensockからTweenMaxを見てください。グリーンソックトゥイーンクラスは、ActionScriptプログラミングで広く使用されている主力製品です。

TweenMaxでディスプレイオブジェクトに色を付けるには、コードは次のようになります。

TweenMax.to(yourDisplayObject, 1, {tint:0x0000FF});

このクラスは、そのコードを使用してオブジェクトに色変換を適用しますが、時間の経過とともに値が徐々に変化します

TweenMaxを入手できる場所へのリンクは次のとおりです。 http://www.greensock.com/tweenmax/

于 2012-11-05T18:56:43.813 に答える
0

これを達成するための(とにかく私が見るように)最も理解しやすい方法は次のとおりです。

if (e.target.value == "blue")
{

    var colorTransform:ColorTransform = yourObject.transform.colorTransform;  //store the current color data for the object
    colorTransform.color = 0x0000FF; //make it totally blue
    yourObject.transform.colorTransform = colorTransform; //now assign it back to the object

}
于 2012-11-06T19:14:45.043 に答える