2012-03-08 30 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作爲參數。我通過level ++增加了這個變量;當前水平加載後。

的問題是在點擊精靈如果持續加+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

謝謝,我會試試這個!順便說一下,好的遊戲 – 2012-03-08 15:39:46