Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash AS3动态添加了子级。命名它们和分别调用它们时出现问题_Flash_Actionscript 3_Air_Addchild - Fatal编程技术网

Flash AS3动态添加了子级。命名它们和分别调用它们时出现问题

Flash AS3动态添加了子级。命名它们和分别调用它们时出现问题,flash,actionscript-3,air,addchild,Flash,Actionscript 3,Air,Addchild,在我将每个孩子动态添加到舞台上后,我需要访问他们,但我很难弄清楚如何访问他们 单击它会将图像添加到舞台上,我需要使用for()使它们一次发光一个,但我不知道如何使用各自的名称(name+I)命名它们,以便以后访问它们 先谢谢你 stage.addEventListener(MouseEvent.MOUSE_DOWN, clicky); var i = 1; function clicky(event:MouseEvent):void { i++; var fl_MyInstan

在我将每个孩子动态添加到舞台上后,我需要访问他们,但我很难弄清楚如何访问他们

单击它会将图像添加到舞台上,我需要使用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;
            }
}
stage.addEventListener(MouseEvent.MOUSE_向下,点击);
var i=1;
函数clicky(事件:MouseEvent):void
{
i++;
var fl_MyInstance:LibrarySymbol=新的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;

如果(myStageX如果您以后需要通过名称访问它们,您可以通过命名符号来实现:

...
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);
...

您可以使用getChildren在数组中访问它们。类似这样的操作应该适合您:

var children:ArrayCollection = this.getChildren();

foreach(var child:LibrarySymbol in children)
{
...do whatever
}
如果你想单独访问它们,你可以使用getChild或getChildAt或类似的东西。对动态数据使用命名约定可能是最难的方法


查看此处了解更多信息:

+1.我的做法。提到使用if Vectors让你获得了投票权。