AS3 Flash CS6 addChild层设置错误

时间:2012-12-31 13:23:22

标签: actionscript-3 flash air

目前我正在尝试创建一个关卡类和一个怪物类,现在在我的AS代码中创建了关卡,然后创建了怪物,但怪物似乎被置于关卡图形之上,我希望怪物在它们产生的时候在图形下面并移动到中间屏幕,

此代码在文件的开头

运行
addChild( levelStage );

创建levelStage时,此代码也会运行

addChild( newMonster );

现在怪物位于levelStage图形的顶部,我希望怪物图形在下面,我应该创建一个名为monsterManager的新类,它将首先添加到舞台上,然后以这种方式产生怪物?或者这不能解决我的问题?

帆布

2 个答案:

答案 0 :(得分:0)

您需要管理显示列表

从这里开始:http://www.republicofcode.com/tutorials/flash/as3displaylist/

但现在一个简单的解决方案就是更改addChild(newMonster);到

addChildAt( newMonster, 0 );

将其置于显示列表底部的其他所有内容之后。要查看它,您需要使用swapChild。

答案 1 :(得分:0)

我建议你在添加levelStage之前添加一个monsterLayer。然后将你的怪物添加到monsterLayer。

var monsterLayer:Sprite = new Sprite;
addChild(monsterLayer);
addChild(levelStage);

// when adding monsters 
monsterLayer.addChild(newMonster);