我需要在将每个 child 动态添加到舞台后访问他们,但我在弄清楚如何做时遇到了问题。
单击它会将图像添加到舞台上,我需要使用 for() 让它们一次发光一个,但我无法弄清楚如何用自己的名字 (name + i) 给它们命名稍后访问它们。
提前致谢
stage.addEventListener(MouseEvent.MOUSE_DOWN, clicky);
var i = 1;
function clicky(event:MouseEvent):void
{
i++;
var fl_MyInstance:LibrarySymbol = new LibrarySymbol();
addChild(fl_MyInstance);
var myStageX:Number = Math.round(event.stageX);
var myStageY:Number = Math.round(event.stageY);
fl_MyInstance.x = myStageX;
fl_MyInstance.y = myStageY;
if(myStageX<150){
fl_MyInstance.scaleX = fl_MyInstance.scaleY = 1-(myStageX/300);
}else{
fl_MyInstance.scaleX = fl_MyInstance.scaleY = 0.5;
}
}
编辑: 谢谢您的回答 。考虑到以后我想让它们可移动,我会尝试用数组来做。 该项目的重点是在舞台上创建星星,您可以在其中单击并让一个点从一颗星星移动到另一颗星星,使它们在击中时发光。
最佳答案
如果您稍后需要通过名称访问它们,您可以通过命名符号来实现:
...
var fl_MyInstance:LibrarySymbol = new LibrarySymbol();
fl_MyInstance.name = "symbol_" + i;
addChild(fl_MyInstance);
...
我会将它们添加到数组或向量中。这样可以方便以后访问它们。处理它们时也很好。
...
var fl_MyInstance:LibrarySymbol = new LibrarySymbol();
_symbolList.push(fl_MyInstance)
addChild(fl_MyInstance);
...
关于Flash AS3 动态添加子项。命名它们并分别调用它们的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4418991/