2010-12-20 6 views

Antwort

0

Sie müssen die Videoclips/Sprites zielen und tun auf sie eine Farbtransformation

Lässt Sie sagen jedes der Videoclips genannt haben Sie transformieren möchten „dot_mc“

var c:ColorTransform = new ColorTransform(); // instantiate a color transform 
c.color = 0xFFFFFF; // set the color of the transform to white 
dot_mc.transform.colorTransform = c; //Apply the color transform 

Also, wenn Sie hatte viele dieser Punkte würden Sie sie in einem Array und Schleife durch das Array setzen und anwenden, was Farbe zu diesen Punkten

var arr:Array = new Array(); 
arr.push(dot1_mc); 
arr.push(dot2_mc); 
arr.push(dot3_mc); 
// 
var c:ColorTransform = new ColorTransform(); 
c.color = 0xFFFFFF; 
// 
for (var i:int=0; i<arr.length;i++){ 
    var mc:MovieClip = arr[i]; 
    mc.transform.colorTransform = c; 
} 

Sie die oben in Funktion setzen könnte und Ruf es an, wann immer du willst, übertrage die Farbe und transformiere die Punkte, wenn es nötig ist.

function changeDotColor($color_num:Number):void { 
    ... 
    var c:ColorTransform = new ColorTransform(); 
    c.color = $color_num; 
    ... 
} 

Sie kennen oder übergeben ein Array von Movieclips mit der zugehörigen Farbe. und ändere andere MovieClips/Sprites als den dot movieclip.

dh

function changeDotColor($color_num:Number,$mc_arr:Array):void{ 

this helps

+0

Danke für die Hilfe, ich Ihren Code versucht, aber jetzt erhalte ich eine Fehlermeldung, dass die Klasse Colortransform konnte nicht geladen werden, muss ich etwas vorher importieren? – javiervd

+0

Ja, versuchen Sie dies am Anfang Ihres Codes "import flash.geom.ColorTransform;" – dewy