2012-12-24 2 views
3

Je développe un jeu sous Android avec AndEngine GLES-2. Je suis confronté à un problème lors de la réinitialisation d'une scène après que le joueur a terminé un niveau. Lorsque je réinitialise la scène, tous les sprites perdent leur position et ont tendance à apparaître dans les positions de l'autre, c'est-à-dire qu'ils échangent leurs positions.Comment réinitialiser correctement une scène dans AndEngine GLES-2?

J'ai essayé toutes les choses comme définir tous les sprites etc. à null et appeler des méthodes comme clearUpdateHandlers() et clearEventModifiers() etc. mais pas encore de succès.

J'ai découvert après beaucoup de googling que engineOptions.getRenderOptions(). DisableExtensionVertexBufferObjects(); méthode peut résoudre ce problème. Donc j'essaye de l'invoquer mais le compilateur donne une erreur en disant que cette méthode n'est pas définie pour la classe RenderOptions.

J'ai vérifié la classe RenderOptions dans le package org.andengine.engine.options et la méthode n'existe pas réellement dans cette classe. Ai-je manqué un plug-in ou y a-t-il un autre problème? S'il vous plaît, aidez, je suis coincé.

Répondre

1

vous devez redémarrer manuellement la scène, par exemple:

Pour redémarrer une scène, vous pouvez terminer l'activité et recommencer, mais le niveau différent avec SharedPreferences ou Tag est dans les intentions, ou vous pouvez définir la position de chaque Sprite et Cler la scène avec:

//detachChild this Sprites that you do not use 
Scene.detachChild(SpriteX); 
//clear the space of memory of each sprite that you do not use 
SpriteX.dispose(); 
//unload the bitmaps that you do not use 
BitMapsX.unload(); 

cette méthode ont quelques secondes pour exécuter, mais vous pouvez utiliser un élégant « hud » en vous jeu, et en gonfleur dans le hud un logo ou une animation avec le « chargement », Cordialement

Questions connexes