2014-12-03 69 views
0

我正在爲我的遊戲設計一個LevelSelect,並且想要鎖定它們直到完成之前的等級,例如:等級1完成:等級2可用休息被鎖定。 我創建了一個int變量,它是已解決的LevelNumber。 我的問題是我如何解鎖/鎖定未解鎖的關卡的按鈕? 我想是這樣的:帶循環的呼叫按鈕

for (int i = 0; i <= LvlDone+1; i++){ 
     (Lvl + i + Btn).visible=true; 
    } 
+0

您有否參考您的意見?你應該做btn.setVisibility(View.VISIBLE);如果你有一個引用,如果沒有,你需要使用getIdentifier()來獲得對按鈕的引用,然後設置它的可見性。 – zgc7009 2014-12-03 19:50:57

+0

但我怎麼能夠指定哪個按鈕是可見的? 例如:LvlDone = 4我想讓Button 1-5可見 – Skyrisu 2014-12-03 19:52:03

+0

...你有沒有對按鈕的引用,就像按鈕列表一樣?如果沒有,則需要使用getIdentifier()獲取按鈕的id,然後使用findViewById()從id獲取對按鈕的引用。 – zgc7009 2014-12-03 19:53:00

回答

0

看看這個例子:

ArrayList<Button> buttons; 
int lvlDone; 
// initialize variables 
... 
for (int i = 0 ; i < buttons.size() ; i++) { 
     buttons.get(i).setEnabled(i < lvlDone+2); 
} 
+1

更適合(按鈕btn:按鈕){btn.setEnabled(i ligi 2014-12-03 20:00:00

+0

很好的解決方案。我會編輯我的答案!謝謝你的:) – 2014-12-03 20:01:35

+1

這段代碼不會工作,你不知道我在btn.setEnabled(我 zgc7009 2014-12-03 20:46:54

0

我沒有永遠寫任何Android的東西,但你可以創建一個對象來保存級別按鈕,然後請執行以下操作:

ArrayList<Button> levelButtons; 

// TODO: Push buttons into levelButtons. 

for (int i = 0; i <= LvlDone+1; i++) { 
    levelButtons.get(i).visible = true; 
}