Actionscript 3 mc内的getChildByName循环

Actionscript 3 mc内的getChildByName循环,actionscript-3,flash,actionscript,Actionscript 3,Flash,Actionscript,我试图在movieclip中通过循环获得getChildByName 在图书馆里我有一个叫做PlayScreen的电影剪辑,在PlayScreen里面我有另一个叫做Bg的电影剪辑。PlayScreen由MainClass(类文档)放在舞台上,PlayScreen链接到MainRun类。Bg movieclip通过从库中拖动手动添加到播放屏幕 这是我的跑步课 public class MainRun extends MovieClip { public var flyClo

我试图在movieclip中通过循环获得getChildByName

在图书馆里我有一个叫做PlayScreen的电影剪辑,在PlayScreen里面我有另一个叫做Bg的电影剪辑。PlayScreen由MainClass(类文档)放在舞台上,PlayScreen链接到MainRun类。Bg movieclip通过从库中拖动手动添加到播放屏幕

这是我的跑步课

public class MainRun extends MovieClip
    {
        public var flyClone:Array;
        public var newFly:Fly_MC;
        public var spX:Number = 550;
        public var spY:Number = 400;

        public function MainRun() 
        {
            flyClone = new Array(); 
            for(var i:int=0; i<10; i++)
            {   
                newFly = new Fly_MC(Math.random()* spX, Math.random()* spY);
                flyClone.push(newFly);
                addChild(newFly);
                newFly.name = "fly_" + i;
            }
            //...

            bla();
        } 
public类mainlun扩展了MovieClip
{
公共克隆:数组;
公共变量newFly:Fly_MC;
公共var spX:Number=550;
公共变量:编号=400;
公共函数mainlun()
{
flyClone=新数组();

MovieClip对象的for(var i:int=0;iname属性必须是一个字符串值,但您在那里放了一个int。 尝试添加
字符串(j)

最好使用
flyClone
数组,而不是只按名称获取对象。 想象一下,如果在显示列表(addChild)中添加任何其他内容,将会发生什么

for(var j:int=0;j
for(变量j:int=0;j
我几乎可以肯定你的孩子不是苍蝇

public function bla():void
{
    for(var j:int=0; j< numChildren; j++)
    {
       var fly : Fly_MC =  getChildByName("fly_" + j) as Fly_MC;
       if( fly )
       {
          fly.addEventListener(Event.ENTER_FRAME, randomMove);
       }
    }
}
或者更好

addEventListener(Event.ENTER_FRAME, randomMoveFlies);

public function randomMoveFlies( e:Event ):void
{
   for each( var fly : Fly_MC in flyClone )
   {
   //move flies;
   }
}

“苍蝇”+我将自动成为一个字符串。当你将一个字符串与非字符串连接起来时,它将被as3Ah转换为字符串是的!为什么我没有想到这一点。我真傻。使用数组更好,竖起大拇指!但我只是好奇,使用字符串仍然会产生#1009错误。有没有办法使用getChildByName?是的!你说得对!我明白了。因此,罪魁祸首是我除了苍蝇,还有别的孩子。
for(var j:int=0; j< flyClone.length; j++)
{

   (flyClone[j] as MovieClip).addEventListener(Event.ENTER_FRAME, randomMove);
}
public function bla():void
{
    for(var j:int=0; j< numChildren; j++)
    {
       var fly : Fly_MC =  getChildByName("fly_" + j) as Fly_MC;
       if( fly )
       {
          fly.addEventListener(Event.ENTER_FRAME, randomMove);
       }
    }
}
for each( var fly : Fly_MC in flyClone )
{
   fly.addEventListener(Event.ENTER_FRAME, randomMove);
}
addEventListener(Event.ENTER_FRAME, randomMoveFlies);

public function randomMoveFlies( e:Event ):void
{
   for each( var fly : Fly_MC in flyClone )
   {
   //move flies;
   }
}