var menuButton:Array = new Array(3); //the overarching menu buttons, these lead to a submenu
for (i = 0; i <= 3; i++)
{
menuButton[i] = new BattleActionButton(); //creates the button
menuButton[i].buttonID = i;
if (i != 0) //if there is a previous button then it positions itself under it
{
menuButton[i].y = menuButton[i - 1].y + menuButton[i - 1].height;
}
else //otherwise it positions itself under the lowest friendlyFrame
{
menuButton[i].y = friendlyFrame[4].y + friendlyFrame[4].height;
}
menuButton[i].addEventListener(MouseEvent.CLICK, addSubMenu);
stage.addChild(menuButton[i]);
}
我正在尝试向这些按钮添加一个属性,以便稍后使用EventListener识别它们,但我一直收到此错误:
ReferenceError:错误#1056:无法在BattleActionButton上创建属性buttonID。
在Main / createBattleGUI()
在Main()
感谢任何帮助。
答案 0 :(得分:2)
您可以将buttonID属性添加到常规MovieClip,因为MovieClip是一个动态类。如果你使你的类动态化,上面的代码将起作用,但值得注意的是,这并不理想。对于一个简单的场景,你可以逃脱它,但它会影响更大规模的性能。
我建议您向BattleActionButton添加公共buttonID属性,或者使用buttonID getter / setter添加私有属性。