具有循环、不同名称和访问变量的 addChild

addChild with looping, different name, and access variable

这是我的代码

stop();
var card:mc;
for (var c:int = 1; c <= 2; c++){
    card = new mc()
    card.name = "card"+c
    addChild(card);
    this["card" + c].gotoAndStop(c);
    trace(["card" + c].var1);
    trace(["card" + c].var2);
}

在影片剪辑中,我在第 1 帧和第 2 帧中有两个名为 var1 和 var2 的变量

但我收到错误 #1010:术语未定义且没有属性。 在 Untitled_fla::MainTimeline/frame1()

显示对象名称与父对象中的字段名称不同。通常你使用 getChildByName(name) 和类型转换。在您的代码中,您不需要它,因为您的对象已分配给局部变量:

stop();
var card:mc;
for (var c:int = 1; c <= 2; c++){
    card = new mc()
    card.name = "card"+c
    addChild(card);
    card.gotoAndStop(c);
    trace(card.var1);
    trace(card.var2);
}