2012-03-11 10 views
-1

これは私に約2日間の頭痛を与えています!特定のレベルのみを再生することを許可する&

私にはレベル付きのゲームがあります。レベル選択シーンがロードされると、私はMaxLevelReached int変数をチェックします。

初めてのユーザの再生、maxlevelreached変数は、最初のレベルは、シーンがロードされたときに私は何をする...あなたのよう

private int level = 60; 

if (level >= maxLevelReached || maxLevelReached == 0){ 
    box.setColor(0, 0, 0); 
} 
else 
{ 
    box.setColor(0, 0.9f, 0); 
} 

これで= 0で0

ですレベルがmaxLevelより小さいか等しいかどうかを確認してください。

開始するには、最初のレベルまで再生できるようにしてから、完了すると2番目のレベルのロックが解除されます。私はこれが本当にシンプルだと知っていますが、何らかの理由で私はそれに苦労しています。

ユーザレベルでのクリックや、それがロック解除まだ、これは私がレベルを開始するかどうかをテストする方法ですされていない場合は...

Log.e("Level:"+levelClicked, "Level"); 

if(levelClicked >= maxLevelReached){               
    levelClicked = levelToLoad;  
    Intent intent = new Intent(level.this, GameLevel.class);       
    intent.putExtra("level", levelClicked);           
    startActivity(intent);               
} 

これは、いくつかのために働くのいずれか...ないですなぜなら、それが最初のレベルでなければならないとき、すべてのレベルが再生可能であるという理由です。ここで

は、私は、これはのように思える知っている...その後、私はレベルセレクタのシーンでこれを行う

int CurrentLevel = level+1; 
Log.e("Current Level unlocked", String.valueOf(CurrentLevel)); 
editor.putInt("max_level",CurrentLevel); 
editor.commit(); 

...前のレベルが完了すると、私はレベルのロックを解除する方法

int unlockedLevel = preference.getInt("max_level",0); 
maxLevelReached += unlockedLevel; 

です混乱。確かに私はそれが私に頭痛を与えると信じています。誰でも私を助けてくれますか?

答えて

2

私はあなたの比較が間違っていると思います。ユーザがオンレベルに達する到達最大レベルまたは最大レベルよりも大きい場合

if (level >= maxLevelReached || maxLevelReached == 0) 

これは読み出し、その後許可レベルゼロです。

だから、代わりに<にする必要があります。

+0

これまで色を正しく設定していました。ありがとう。今、この問題は、最初のレベルだけが最初に再生可能でなければならないときに、それらがすべて再生可能なレベルをクリックするときです。 –

+0

あなたの助けてくれてありがとう、私は私の比較が間違っていたことが分かった。 –

+0

@ coder_For_Life22 - ようこそ。私はあなたがより多くの場所で同じエラーを抱えていると思った。状況を混乱させないように、私は一貫して最大値を比較する傾向があります。 –

関連する問題