2012-02-29 49 views
2

我想在不同的图层中添加精灵。我这样做:pEntity已经有父母

final Scene scene = new Scene(); 
    for(int i = 0; i < NUMBER_OF_LAYERS; i++) { 
     scene.attachChild(new Entity()); 
    } 

      ... 
      ... 

    scene.attachChild(
      getSprite(),1); 

logcat中给出了一个错误:

2-29 10:30:10.489: E/AndroidRuntime(17018): java.lang.IllegalStateException: pEntity already has a parent! 

为什么会这样发生?以及如何在不同层次上附加精灵?

+0

什么是实体? – jeet 2012-02-29 06:27:00

+0

这是新的Sprite(); – 2012-02-29 06:36:04

+0

这个问题最多只是含糊不清 - 错误是否发生在新的实体?或getSprite()? – jmroyalty 2012-02-29 20:58:36

回答

4

错误消息是说,你要附加到场景中的实体已经有另一位家长这样无论是你要分开,或者你可以克隆实体,然后附加到现场,每次

到detech代码是

entity.detachSelf(); 

和克隆那简直就是

entity.clone(); 
+0

为什么我不能使用scene.detachChild(child)? – 2014-02-10 01:54:49

+0

我很长时间没有在这方面工作,所以我其实不知道这件事。它可能工作。你有没有尝试过?如果它不工作,那么你面临的错误是什么? – 2014-02-11 09:45:32

0

我面临同样的问题,但后来我解决了这个问题要重视第一DET这精灵ach it by

entity.detachself();

然后附上那个孩子

entity.attachChild();

相关问题