Как запустить мою программу, когда я нажимаю кнопку «Пуск» (кнопка в кадре) и замедляю ее, чтобы цикл не был быстрым? - PullRequest
0 голосов
/ 22 октября 2019

Я создаю гоночную игру, и в моей игре есть 2 кадра. Один из них - стартовый экран, а второй - место, где будет проходить гонка. У меня есть кнопка, которая переводит меня на второй кадр. Однако проблема, с которой я сталкиваюсь, состоит в том, что, когда я запускаю программу, начинает работать гоночный куд. Мое текущее решение состоит в том, чтобы на втором кадре была другая кнопка для запуска кода, но когда я это сделаю, машины будут телепортироваться к финишной черте без замедления.

Это мой код для прикола машин

play.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
    int r1 = 0;
    int r2 = 0;
   do {
       //car random num
         r1 = r1 + (int) (Math.random() * 10);
         r2 = r2 + (int) (Math.random() * 10);
         r3 = r3 + (int) (Math.random() * 10);
         r4 = r4 + (int) (Math.random() * 10);
         r5 = r5 + (int) (Math.random() * 10);
   //car1
   car1.setBounds((r1), (115), car1.getPreferredSize().width, car1.getPreferredSize().height);
   //car2
   car2.setBounds((r2), (165), car2.getPreferredSize().width, car2.getPreferredSize().height);

});

Я пытался использовать Thread.Sleep(_;, но это не работает.

1 Ответ

0 голосов
/ 22 октября 2019

Попытайтесь поместить Thread.sleep () перед вашим методом actionPerformed и внутри try / catch, например:

try {
   Thread.sleep(2000);
} catch (InterruptedException e) {
   e.printStackTrace();
}

А ваше do / while не имеет условия while?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...