Actionscript 3 mc内的getChildByName循环
我试图在movieclip中通过循环获得getChildByName 在图书馆里我有一个叫做PlayScreen的电影剪辑,在PlayScreen里面我有另一个叫做Bg的电影剪辑。PlayScreen由MainClass(类文档)放在舞台上,PlayScreen链接到MainRun类。Bg movieclip通过从库中拖动手动添加到播放屏幕 这是我的跑步课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
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;
}
}