У меня проблема с моей java-игрой. Я новичок, но я должен написать это как школьный проект.
Игра называется «Торт на день рождения» на торте есть 7 свечей, и случайным образом один из них показывает, что можно сказать 30 секунд, и в течение этого времени вам нужно щелкнуть по нему, чтобы получить точку, если вы не нажмете на нее во время на этот раз следующая свеча покажет. Игра заканчивается, когда появляется 10 свечей.
Я сделал для цикла, и я попытался заставить его работать для sooo long, что я умираю от разочарования
my for loop работает, но он настолько быстр, что я использую Thread.sleep (1000), я попробовал множество решений выглядит нормально. НО, когда я начинаю свою игру, ничего не происходит, и через несколько секунд все 7 свечей показывают и быстро исчезают. Я думаю, что я делаю что-то неправильно, но я понятия не имею, что.JAVA GAME loop?
if(Dane.start){
int liczbaLosowa = 0;
for(int i=0; i<10 ;i++){
liczbaLosowa = (int)(Math.random()*7);
this.wspX= wspX_p[liczbaLosowa];
this.wspY= wspY_p[liczbaLosowa];
g2d.drawImage(plomienImg, wspX, wspY,null);
Toolkit.getDefaultToolkit().sync();
try {
Thread.sleep(1000);
} catch (Exception ex) { }
//repaint();
}
Dane.start=false;
}
Это качели? Является ли это вызвано потоком событий Swing? Код выглядит так: 1) иметь потенциометр, чтобы весь ваш графический интерфейс спать, и 2) бросать NullPointerExceptions из-за неправильного использования объекта Graphics. Если Swing, есть способы исправить это, включая использование таймера Swing, используя объект Graphics внутри метода paintComponent JPanel или, еще лучше, заменяя ImageIcons JLabel. Пожалуйста, дайте нам больше информации и помогите нам лучше понять вашу проблему и код. –
да, это на Swing, эта петля внутри JPanel paintComponent, я загружаю изображения с помощью BufferedImage – Miszel
В Google так много всего от игрового цикла от простых до сложных. – Steven