if (mapY[i][j].buttonType != 0) //checks whether or not the button should be added
{
mapY[i][j].addEventListener(MouseEvent.CLICK, createBattleGUI); //adds event listener
stage.addChild(mapY[i][j]); //adds it to stage
}
在嵌套的 for 循环(用于 2D 网格)中,我创建了一个随机地图生成器。基本上,它根据每个按钮的重要性为每个按钮分配一个值(0 = 不添加,1 = 起点,2 = 终点,3 = 从 1 到 2 的最短路径上的点)。我添加了一个事件监听器,将它带到战斗阶段;所以每当一个按钮被点击时,它就会开始一场新的战斗。在那个函数中,我有这个:
for (i = 0; i <= 9; i++)
{
for (j = 0; j <= 9; j++)
{
if (mapY[i][j].buttonType != 0)
{
stage.removeChild(mapY[i][j]);
}
}
}
那应该删除所有按钮。但是,当我跟踪所有 buttonType 属性时,它们现在都重置为 0。如果我在将它们添加到舞台的部分中跟踪它,它会正确显示。