У pEntity уже есть родитель - PullRequest
2 голосов
/ 29 февраля 2012

Я хочу прикрепить спрайты в разных слоях.Я делаю это:

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

            ...
            ...

    scene.attachChild(
            getSprite(),1);

LogCat выдает ошибку:

0

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

Почему так происходит?А как прикрепить спрайты в разные слои?

Ответы [ 2 ]

4 голосов
/ 29 февраля 2012

В сообщении об ошибке говорится, что у объекта, который вы хотите прикрепить к сцене, уже есть другой родитель, поэтому либо вы должны отсоединить его, либо вы можете клонировать объект, а затем присоединять к сцене каждый раз

для определения кода

entity.detachSelf();

а для клона это просто

entity.clone();
0 голосов
/ 25 февраля 2015

Я столкнулся с той же проблемой, но потом решил, какой спрайт, который вы хотите прикрепить, сначала отсоедините его с помощью

entity.detachself ();

, затем присоедините этого потомка

entity.attachChild ();

...