2013-03-12 76 views
1

我有以下精灵正在消失在AS3

public class Main extends Sprite 
{ 
     private var myObject:MyObject; 
     private var mySecondObject:MySecondObject; 
     private var myThirdObject:MyThirdObject; 

     public function Main() 
     { 
      myObject = new MyObject();// also extends sprite 
      addChild(myObject); 

      mySecondsObject = new MySecondObject(this); 
      addChild(mySecondsObject); 

      myThirdObject = new MyThirdObject(this); 
      addChild(myThirdObject); 
     } 

     public function getMyObject():MyObject 
     { 
      return myObject; 
     } 
} 

public class MySecondObject extends Sprite 
{ 
     private var _main:Main; 
     private var _myObject:MyObject; 

     public function MySecondObject(main:Main) 
     { 
      _main = main; 
      _myObject = _main.getMyObject();    
      // do some stuff with _myObject, add on enter frame listener etc... 

     } 
     public function start(): { /* do some stuff */} 
     public function stop(): { /* do some stuff */} 
} 

public class MyThirdObject extends Sprite 
{ 
     private var _main:Main; 
     private var _myObject:MyObject; 

     public function MyThirdObject(main:Main) 
     { 
      _main = main; 
      _myObject = _main.getMyObject();    
      // do some stuff with _myObject, add on enter frame listener etc... 

     } 
     public function start(): { /* do some stuff */} 
     public function stop(): { /* do some stuff */} 
} 

我这样做是与MySecondObject和MyThirdObject

MySecondObject.stop(); 
MyThirdObject.start(); 

为MyObject仍然存在时显示为myObject的自败的精灵问题该类结构记忆,但我无法在舞台上看到它。 WTF? :)

为了说清楚我不使用removeChild()从舞台上删除任何东西。

我试图解决的问题是我想拥有的存取从MySecondObject和MyThirdObject

+1

您需要提供代码用于MySecondObject和MyThirdObject的'start()'和'stop()'例程。看,这有可能是您要添加MyObject'的'实例到错误的父母,说这是不添加到舞台'mySecondObject'。 – Vesper 2013-03-12 09:10:40

+0

我更新了代码addChild丢失,请参阅上文。我在舞台上添加MySecond和MyThird。还在舞台上添加了MyObject – Vlad 2013-03-12 09:12:33

+0

问题已解决。我改变,添加所有的孩子在舞台上像this.stage.addChild(孩子),而不是this.addChild(孩子),所以现在它的工作原理谢谢 – Vlad 2013-03-12 09:25:31

回答

0

问题解决了更新的MyObject的状态。我改变,添加所有的孩子在舞台上像this.stage.addChild(孩子),而不是this.addChild(孩子),所以现在它的工作原理,并显示在舞台上的所有对象,在开始后/停止