2012-03-08 5 views
0

私はAndEngineを使用しています。ボタンをクリックして次のレベルをロードする

私はすべてのレベルで再利用したいシーンがあります。

唯一変化するのは、レベルをロードするために作成したメソッドiによってシーンにロードされたオブジェクトだけです。

私が直面している問題は、レベルの最後にユーザーが次のレベルに進むというオプションを得ることです。私はこのメソッドで次のレベルをロードすることができます。

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のメソッドを呼び出します。 私はシーンを再作成する際にこの方法に依存しているので、すべてのことをリセットする必要があります。私は唯一のゲームで1つのゲームプレイシーンがあり、レベルがある https://market.android.com/details?id=com.ayham.blowangryshapes :あなたはそれがどのように動作するかを確認したい場合は

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; 
}}; 

、ここでは私のゲームのリンクです: これは、メソッドの呼び出しです必要に応じてロードします。

+0

ありがとう、私はこれを試してみましょう!途中で素晴らしいゲーム –

関連する問題