我有一个数组,我想为所有数组位置创建一个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循环中的所有按钮?
答案 0 :(得分:1)
在那里遇到语法错误,这就是这行应该是什么样的:
_root['botoes' + i].onRelease = function()
{
// Function body.
//
}
您之前的代码试图将_root['botoes' + i].onRelease()
(本来是undefined
)的结果分配给Function()
的结果(这可能是一个Function对象)。