2012-02-29 9 views
2

異なるレイヤーにスプライトを添付します。私は、次の操作を行いますので、発生したのはなぜpEntityには既に親があります

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

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

      ... 
      ... 

    scene.attachChild(
      getSprite(),1); 

LogCatにエラーが出ていますか?そして、さまざまな層にスプライトをどのように付け加えますか?

+0

ここでpEntityとは何ですか? – jeet

+0

これは新しいSprite()です。 –

+0

この質問は最高で曖昧です - 新しいpEntityでエラーが発生しますか?またはgetSprite()で? – jmroyalty

答えて

4

エラーメッセージは、あなたがそれを切り離すために持っているか、あなたはエンティティのクローンを作成し、コードをdetechするたびにシーンに

を添付することができますいずれかのように、あなたがシーンに添付するエンティティは、すでに別の親を持っていることを言っています

entity.detachSelf(); 

で、クローンのために、それは単に私が同じ問題に直面していた

entity.clone(); 
+0

なぜscene.detachChild(子)を使用できないのですか? –

+0

私はこれについて長い間働いていないので、私は実際これについて知らない。それが動作する可能性があります。やってみました?それが動作していない場合、あなたはどんなエラーに直面していますか? –

0

であるが、その後私はあなたが最初DETを添付するスプライトそれを解決それでは

entity.detachself();

その後、

entity.attachChild(その子を添付)。

関連する問題