I'm often tasked with applying the same listeners & properties to multiple MovieClips in Flash. The easiest is to store the MovieClips in an array:
var navButtons=[navCompanyMC,navNewsMC...];
Then you can simply iterate over them:
var i=1;
for (i in navButtons) {
doSomethingToClip(navButtons[i]);
}
Sample usage:
public function doBuild():void {
var navButtons=[navCompanyMC,navNewsMC...];
var i=1;
for (i in navButtons) {
registerEachButton(navButtons[i]);
}
}
function registerEachButton(clip:MovieClip):void {
clip.buttonMode=true;
EventManager.addEventListener(clip,MouseEvent.MOUSE_OVER,doRollOver,false,0,true,true);
EventManager.addEventListener(clip,MouseEvent.MOUSE_OUT,doRollOut,false,0,true,true);
EventManager.addEventListener(clip,MouseEvent.CLICK,doClick,false,0,true,true);
}
function doRollOver(e:Event):void {
//trace(e.target.name)
e.currentTarget.gotoAndStop('over');
}
function doRollOut(e:Event):void {
trace(e.target.name);
e.currentTarget.gotoAndStop(1);
}
function doClick(e:Event):void {
trace(e.target.name);
}
Tags:
array,
Flash,
loop,
MovieClip