这是AS2中的错误吗?

时间:2010-06-28 15:31:28

标签: flash actionscript-2 for-loop

我的画布上有4个名为item1,item2,item3和item4的按钮。在第一帧中,我编写了这段代码(as2):

stop();
for (n = 0; n <= 10; n++)
{
 this["item" + n].onPress = function ()
 {
  trace('lol');
 };
}

当点击名为item1的那个时,它不会显示lol,这很有趣,因为如果我这样做:

stop();
for (n = 0; n <= 10; n++)
{
    trace(n);
 this["item" + n].onPress = function ()
 {
  trace('lol');
 };
}

输出:

1
2
3
4

有人有答案吗?因为对我而言,它看起来就像一个错误。

3 个答案:

答案 0 :(得分:0)

这是一个错误,但在AS2中没有。 ;)实际上,可能是你在某处有错误。也许,例如,当您为“item1”设置名称时,您意外添加了一个空格,或类似的东西?您可以尝试从舞台中删除item1,重新添加它,再次键入实例名称。

答案 1 :(得分:0)

你是对的,但这不是我的错。 Flash有一个奇怪的错误,item1实例名称上没有任何额外的空格,似乎flash内部没有正确注册名称。无论如何,你在这一点上是正确的,非常感谢:)。

答案 2 :(得分:0)

this['item' + n].onPress = function()
{
  trace("lol");
};

如果不起作用,请确保item [n]是movieclip / button,代码位于frameclip的框架内或框架内,没有其他movieclip / button具有相同的名称