Accessibility

ActionScript cookbook beta

Dynamically set the color of a MovieClip

Problem Summary

You need to dynamically set the color of a MovieClip.

Solution Summary

Use the colorTransform property to set the color.

Explanation

ActionScript 2

var clip:MovieClip = attachMovie("circle_clip", "circle_clip", 1);

clip._x = 100;
clip._y = 100;

function onStageClick():Void
{
   var c:Color = new Color(clip);
   c.setRGB(Math.random() * 0xFFFFFF);
}

onMouseUp = onStageClick;

ActionScript 3

var clip:MovieClip = new circle_clip();
clip.x = 100;
clip.y = 100;

addChild(clip);

function onStageClick(event:MouseEvent):void
{
   var c:ColorTransform = new ColorTransform();
   c.color = (Math.random() * 0xFFFFFF);
   clip.transform.colorTransform = c;
}

stage.addEventListener(MouseEvent.CLICK, onStageClick);

Note: Math.random * 0xFFFFFF creates a random color.