2014-12-03 67 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; 
}