Guilherme Garcia da Rosa
Guilherme Garcia da Rosa

Reputation: 1030

Implement the same function in AS2 for an Array

I have an array, and I would like to make a function onRelease for all of the array positions.

The code would be like:

pick = new Array(2,3,4);
var botoes1:MovieClip = lev.attachMovie("block", "block_"+lev.getNextHighestDepth(), lev.getNextHighestDepth(), {_x:550, _y:1*22});
_root.botoes1.gotoAndStop(pick[1]);
var botoes2:MovieClip = lev.attachMovie("block", "block_"+lev.getNextHighestDepth(), lev.getNextHighestDepth(), {_x:550, _y:2*22});
_root.botoes2.gotoAndStop(pick[2]);
var botoes3:MovieClip = lev.attachMovie("block", "block_"+lev.getNextHighestDepth(), lev.getNextHighestDepth(), {_x:550, _y:3*22});
_root.botoes3.gotoAndStop(pick[3]);

for(i=0;i<3;i++){
    _root['botoes'+i].onRelease() = Function () {

    }
}

but it doesn't work this way... and if possible, how can I make the MovieClip declaring for all the buttons in an for loop?

Upvotes: 0

Views: 73

Answers (1)

Marty
Marty

Reputation: 39458

Couple syntax errors there, here's what this line should look like:

_root['botoes' + i].onRelease = function()
{
    // Function body.
    //
}

Your previous code was trying to assign the result of _root['botoes' + i].onRelease() (which would have been undefined) to the result of Function() (which would have been a Function object).

Upvotes: 1

Related Questions