2012-05-24 4 views
5

In andAngine Ich muss eine Szene in Andangine zerstören und neu erstellen, um die Spielvariablen und Listener und Gamelogic neu zu starten. ich verwende diesen Code:Wie kann ich eine Szene in der Suchmaschine richtig zerstören und neu erstellen?

scene.detachChildren(); 
scene.clearEntityModifiers(); 
scene.clearTouchAreas(); 
scene.clearUpdateHandlers(); 

System.gc(); 
thisengine.setScene(menuscene); 

und dann neu erstellt ich die Szene

scene = new Scene(); 
scene.dosomestuff 
thisengine.setScene(scene); 

Etwas scheint falsch zu gehen, wenn ich das dritte Mal die Szene neu zu erstellen. Sprites wird nicht angezeigt. Es ist verzerrt oder etwas wird überhaupt nicht angezeigt. Kann mir jemand erklären, wenn ich die Szene richtig initialisiere und zerstöre?

+0

Hallo Claudio. Ich entwickle ein Spiel in AndEngine und ich kämpfe auch mit genau demselben Problem. Haben Sie eine Lösung für dieses Problem gefunden? Wenn ja, kannst du mir bitte helfen? –

+0

Hallo @YogeshSomani Ich habe auch mit dem gleichen Problem zu kämpfen ... Schreiben Sie, wenn Sie eine finden ... –

+0

@shihab_returns: Ich werde Sie informieren, wenn ich irgendeine Lösung dafür finden. Ich erwarte dasselbe von dir. :) –

Antwort

4

Persönlich würde ich die Szene erstellen, sobald das erste Mal es verwendet wird.

Um die Szene zu ändern, tun Sie Ihre Entfernung Zeug wie Sie gezeigt haben, würde ich nicht mit dem Aufruf von System.gc() stören, und dann statt eine neue Szene() zu erstellen - rufen Sie einfach scene.reset(), scene.dosomessstuff usw.

Erstellen einer neuen Szene wie Sie zeigen, sieht aus wie ein großes Speicherleck, oder zumindest ein mögliches Leck.

Verwandte Themen