2012-03-08 4 views
0

Я использую AndEngine.Загрузка следующего уровня нажатием кнопки

У меня есть сцена, которую я бы хотел использовать для всех моих уровней.

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

Проблема, с которой я столкнулся, заключается в том, что в конце уровня пользователь получает возможность перейти на следующий уровень. Я разрешаю пользователю загружать следующий уровень с помощью этого метода.

this.nextlevel = new Sprite(0,0,150,80,this.nextLevelRegion,this.getVertexBufferObjectManager()){ 
     public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, 
       final float pTouchAreaLocalX, 
       final float pTouchAreaLoca) { 

      GameScene.detachChildren(); 

      loadLevel(level); 
      return true; 
     } 
}; 

LoadLevel (int level_number) принимает значение int в качестве параметра. Я увеличиваю эту переменную на уровне ++; после загрузки текущего уровня.

Проблема заключается в том, когда спрайт щелкнул он продолжает добавлять +1 к целому числу уровней и пытается загрузить неверный уровень ..

Кто-нибудь знает лучший способ сделать это?

ответ

1

это то, что я сделал в своей игре: Я создал класс, который создает сцену игры, у этого класса есть метод, который создает сцену и загружает уровень XML на основе числа, которое он получает, когда я его вызываю , , когда я хочу перейти на следующий уровень, я получаю текущий номер уровня (скажем, его x) и вызываю метод с x + 1 как атрибут для него. вы должны заметить, что я завис в этом методе от повторного создания сцены снова, чтобы вы сбросили все, когда вы это делаете. это вызов для метода:

Sprite Next=new Sprite(x-48/factor, y+30/factor, 96/factor, 60/factor,LoadAssets.WinMenuNextTextureRegion){ 
@Override 
public boolean onAreaTouched(final TouchEvent pSceneTouchEvent, final float pTouchAreaLocalX, final float pTouchAreaLocalY) { 
if(pSceneTouchEvent.isActionUp()){ 
pEngine.setScene(GamePlayScene.CreateTheGamePlayScene(context,pEngine,camera_width, camera_height,GamePlayScene.LevelNumber+1)); 
} 
return true; 
}}; 

и здесь ссылку на мою игру, если вы хотите увидеть, как это работает: https://market.android.com/details?id=com.ayham.blowangryshapes я только одна игра играть сцену в игре и уровни загружать по мере необходимости.

+0

Спасибо, я попробую! Хорошая игра кстати –

Смежные вопросы