Я создаю некую простую игру, это красный квадрат, по которому вы можете перемещаться с помощью клавиш со стрелками, я сделал готовый объект, он обнаруживает, когда вы в него входите. Теперь я сделал так, чтобы, если «игрок» пересекался с «финишным объектом», он воспроизводил звук, но он проигрывал звук КАЖДЫЙ тик. Я попробовал Thread.sleep () и wait (), но это заставило мою игру спать, а не только задержку звука. Мой метод звукового сопровождения:
public void playSound( String filename ) throws IOException{
InputStream in = new FileInputStream(filename);
AudioStream as = new AudioStream(in);
AudioPlayer.player.start(as);
}
и мой игрок заканчивает пересечение:
//PLAYER1 LEVEL FINISHING
if( player.getBounds().intersects(levelfinish.getBounds())){
message = "A winner is you!";
try {
playSound("D:/BadGame/Sounds/winner.wav");
} catch(Exception ex){
ex.printStackTrace();
}
}
Сообщение
- это просто строка, которая отображается в середине экрана, все работает, но требует некоторой задержки, поэтому звук будет воспроизводиться не постоянно, а через каждые 10 секунд или только при пересечении с это, один раз. Ребята, можете ли вы дать мне понять, как это сделать? Спасибо!