Как правильно сбросить сцену в AndEngine GLES-2?

Я разрабатываю игру на Android с помощью AndEngine GLES-2. Я столкнулся с проблемой при сбросе сцены после того, как игрок завершил уровень. Когда я сбрасываю сцену, все спрайты теряют свои позиции и имеют тенденцию появляться на позициях друг друга, то есть они меняются местами.

Я пробовал все вещи, такие как установка всех спрайтов и т. Д. На ноль и вызов методов, таких как clearUpdateHandlers () и clearEventModifiers () и т. Д., Но пока безуспешно.

После долгих поисков я обнаружил, что engineOptions.getRenderOptions().disableExtensionVertexBufferObjects(); метод может решить эту проблему. Итак, я пытаюсь вызвать его, но компилятор выдает ошибку, говоря, что этот метод не определен для класса RenderOptions.

Я проверил класс RenderOptions в пакете org.andengine.engine.options, и этот метод действительно не существует в этом классе. Я пропустил какой-либо плагин или есть какая-то другая проблема? Пожалуйста, помогите, я застрял.


person Yogesh Somani    schedule 24.12.2012    source источник


Ответы (1)


вам нужно вручную перезапустить сцену, например:

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

 //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();

этот метод работает за секунды, но вы можете использовать элегантный "hud" в своей игре, а во время зарядки установить в hud логотип или анимацию с "загрузкой", с уважением

person Vinicius DSL    schedule 26.12.2012