我的Java遊戲有問題。我是初學者,但我必須把它寫成一個學校項目。
遊戲被稱爲「生日蛋糕」蛋糕上有7個蠟燭,隨機一個顯示爲30秒,在這段時間內你必須點擊它才能獲得點數,如果你沒有點擊它這次下一個蠟燭會顯示。遊戲結束時,10個蠟燭顯示。
我做了循環,我試圖讓它工作很長時間,我從沮喪中死亡
我for循環的作品,但它是如此之快,我使用Thread.sleep(1000),我試了很多解決方案看起來不錯。但是當我開始我的比賽時沒有任何事情發生,幾秒鐘後,所有7支蠟燭都會顯示並迅速消失。我認爲我做錯了什麼,但我不知道是什麼。JAVA遊戲循環?
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嗎?它是在Swing事件線程上調用的嗎?該代碼看起來像1)讓你的整個圖形用戶界面進入休眠狀態,2)由於濫用圖形對象而拋出NullPointerExceptions。如果是Swing,可以通過使用JPanel的paintComponent方法內部的Graphics對象,或者更好的方法來解決這個問題,包括使用Swing Timer,或者更好地交換JLabel的ImageIcons。請給我們更多信息,並幫助我們更好地理解您的問題和代碼。 –
是的,它是在Swing上,這個循環在JPanel paintComponent裏面,我使用BufferedImage加載圖像 – Miszel
Google上有很多關於從簡單到複雜的遊戲循環。 – Steven