У меня есть персонаж, которому я хочу сделать функцию прыжка. Во втором потоке, я создал такой вот код:
| Код | public void run() { if (jump == true) { for (int i = 1; i <= 7; i++) { y = y - 1; repaint(); Thread.currentThread(); Thread.sleep(120); } } }
|
А также есть таймер который, каждые 20 милисекунд запускает этот метод run и еще один метод из основного потока, для движения по горизонтали. По сути, когда срабатывает таймер проверяется не нажата ли кнопка пробела и если нажата то активируется условие, а вместе с ним цикл. И дальше при каждом повышении персонажа на один пиксель, должно перерисовываться все, но почему-то перерисовка происходит только в конце после выполнения цикла. Почему? |