在我的Engine类中,“Building”窗口的创建方式如下:
Engine.as
private function createUI():void{
building = new Building (stage);
addChild(building);
building.visible = false;
(我有一个名为Building.as的课程。)
每次我点击,在我的useBox(Usebox.as)上,在按钮上购买功能“buyIt”被调用。
UseBox.as
public function showBuilding():void{
Engine.building.visible = true;
}
然后我可以选择我想要的建筑物。当我选择建筑时,窗户变得不可见:
Building.as
public function Construction(e:MouseEvent):void{
Engine.building.visible = false;
Engine.test.buildIt(e);
}
并且场景中出现了一个建筑物(功能“buildIt”)
Tower.as
public function buildIt(e:MouseEvent):void{
stageRef.addChild(this);
this.visible = true;
}
问题是,每当“建筑物”窗口可见时,“塔楼”就在所有东西的前面!
有没有办法说“建筑”必须始终站在一切的前面? (如果是的话,我应该在哪里告诉它?在Engine.as?在Building.as?
谢谢!
答案 0 :(得分:0)
你的代码有问题,你把每个塔都直接放在舞台上,这样你就无法在所有东西面前管理UI。
public function buildIt(e:MouseEvent):void{
stageRef.addChild(this); //don't use the stage here.
this.visible = true;
}
你应该使用你的主类来展示你的游戏。