Я пытаюсь запрограммировать игру "Gravity Guys", в этой игре игрок бежит вперед и может менять гравитацию только при касании поверхности. За ним следует вражеский игрок, и если он коснется основного игрока, игра закончится. Я хочу запрограммировать этого вражеского игрока, дав ему тот же метод, что и основному игроку, но я хочу, чтобы вражеский игрок делал те же движения, что и основной игрок, через 3 секунды, в этом случае, если основной игрок заблокирован, вражеский игрок касается его и игра закончится. Не знаете, как повторить это движение через 3 секунды, совет?
Код: Выделить всё
public class KeyInput extends KeyAdapter{
Handler handler;
private long startTime = -1; // Impostiamo un valore iniziale non valido
public KeyInput(Handler handler){
this.handler=handler;
}
public void keyPressed(KeyEvent e){
int key=e.getKeyCode(); //ogni comando ha una key
for(int i =0 ; i= 2900) {
tempObject.setGravityInverted(!tempObject.isGravityInverted());
((Enemy) tempObject).canSwitchGravity = false;
startTime = -1;
}
}
}
if(key== KeyEvent.VK_ESCAPE){
System.exit(1);
}
}
}
Этот метод работает так: если я нажимаю пробел и переменная, которую я установил в другом методе, имеет значение true, игрок прыгает. Я бы хотел, чтобы вражеский игрок сделал то же самое, но через несколько секунд (например, через 3 секунды)
Подробнее здесь:
https://stackoverflow.com/questions/790 ... s-movement