0

我有一个数组,我想为所有数组位置创建一个 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 循环中的所有按钮?

4

1 回答 1

1

那里有几个语法错误,这行应该是这样的:

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

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

于 2013-05-09T02:11:00.553 回答