AS3 MovieClip Arrays & Loops
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