# \[AS3 Efficiency Question

**URL:** <https://forum.kirupa.com/t/as3-efficiency-question/271734>\
**Category:** flash\
**Created:** [September 27, 2008, 5:28am UTC](https://forum.kirupa.com/t/as3-efficiency-question/271734 "2008-09-27T05:28:43Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![sepu](https://avatars.discourse-cdn.com/v4/letter/s/919ad9/32.png) [@sepu](https://forum.kirupa.com/u/sepu)\
**Post date:** [September 27, 2008, 5:28am UTC](https://forum.kirupa.com/t/as3-efficiency-question/271734/1 "2008-09-27T05:28:43Z")

</div>

so in AS2 I used to do actions for btns. First I put them into an Array then I loop through then  
I will call them like so myBtn\*.onRelease = function {}… so now in AS3 Im trying to do the same thing  
and it works just fine but I was wondering if is a more efficient way to the same.

Here is the example

[AS]import caurina.transitions._;  
import caurina.transitions.properties._;  
ColorShortcuts.init();  
DisplayShortcuts.init();

var aBtn:Array = new Array(my\_mc, my\_mc2, my\_mc3);

for (var i:uint = 0; i \< aBtn.length; i++){  
aBtn\*.addEventListener(MouseEvent.ROLL\_OVER, ROLLOVER, false, 0, true);  
aBtn\*.addEventListener(MouseEvent.ROLL\_OUT, ROLLOUT, false, 0, true);  
aBtn\*.addEventListener(MouseEvent.CLICK, CLICKED, false, 0, true);  
}

/\*aBtn[0].addEventListener(MouseEvent.ROLL\_OVER, ROLLOVER);  
my\_mc2.addEventListener(MouseEvent.ROLL\_OVER, ROLLOVER);  
my\_mc3.addEventListener(MouseEvent.ROLL\_OVER, ROLLOVER);

my\_mc.addEventListener(MouseEvent.ROLL\_OUT, ROLLOUT);  
my\_mc2.addEventListener(MouseEvent.ROLL\_OUT, ROLLOUT);  
my\_mc3.addEventListener(MouseEvent.ROLL\_OUT, ROLLOUT);

my\_mc.addEventListener(MouseEvent.CLICK, CLICKED);  
my\_mc2.addEventListener(MouseEvent.CLICK, CLICKED);  
my\_mc3.addEventListener(MouseEvent.CLICK, CLICKED);\*/

function ROLLOVER(e:MouseEvent):void {  
Tweener.addTween(e.target,{\_frame:40, time:1});  
Tweener.addTween(e.target, {\_color:0xFB9804, time:1});  
}

function ROLLOUT(e:MouseEvent):void {  
Tweener.addTween(e.target, {\_frame:0, time:1.5, transition:“easeOutExpo”});  
Tweener.addTween(e.target, {\_color:0x4926D9, time:1});  
}

function CLICKED(e:MouseEvent):void {  
trace(e.target.name);  
}[/AS]  
Thank You.
