在AS2中为Array实现相同的功能

时间:2013-05-09 01:50:27

标签: actionscript-2

我有一个数组,我想为所有数组位置创建一个onRelease函数。

代码如下:

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 () {

    }
}

但它不能这样工作...... 如果可能的话,我怎样才能让MovieClip声明for循环中的所有按钮?

1 个答案:

答案 0 :(得分:1)

在那里遇到语法错误,这就是这行应该是什么样的:

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

您之前的代码试图将_root['botoes' + i].onRelease()(本来是undefined)的结果分配给Function()的结果(这可能是一个Function对象)。