В игре, которую я сейчас делаю, я только что создал начальный экран. В этом стартовом экране есть 4 JButton
s Play, Options, Credit и Quit. Если вы нажмете «Воспроизвести», появится JButton, «Новая игра».Удаление/добавление JComponents в зависимости от того, имеет ли значение boolean значение true или false
Я не сделаю так, чтобы при нажатии кнопки «Новая игра» начальный экран исчезает и начинается игра (как игра с акцентом, так и смотрящий экран продолжается JComponent
).
У меня есть отдельный класс, который запускает игру и передает меню опций в игре.
В стартовом классе экрана у меня есть boolean
, называемый startGame, который по умолчанию равен логическому значению false, а при нажатии кнопки «Новая игра» он будет равен true. В стартовом классе класса у меня также есть открытый метод, который возвращает значение startGame, он выглядит так.
public boolean checkGame(){
return startGame;
}
В главном классе, который запускает игру, я проверить, если метод checkGame равен истинным или ложным, используя таймер, как это.
if(menu.checkGame() == false){
frame.add(menu);
}
Timer timer = new Timer(5, new ActionListener(){
public void actionPerformed(ActionEvent e){
if(menu.checkGame() == true){
frame.remove(menu);
frame.add(new Level1());
}
}
});
timer.start();
Очевидно, что это не сработает, потому что если бы я не стал задавать этот вопрос. Итак, теперь, на мой вопрос, как я могу заставить его работать, как я хочу?
Почему не все компоненты, работающие, но иметь их видимость скрыты до востребования. – Tdorno
'ActionListener', который у вас есть в' Timer', почему бы не сделать это 'ActionListener' кнопки startGame? – kuporific
@ kuporific, потому что это будет более удобно позже, если я сделаю это таким образом – 2013-04-30 17:45:03