我有一個遊戲,您可以通過在按下按鍵時將子彈添加到控制器類來發射子彈。這裏是來自KeyPressed()的代碼 ;在拍攝之間添加延遲(按鍵)
else if (key == KeyEvent.VK_Q && !is_shooting)
{
is_shooting = true;
c.addBullet(new Bullet(p.getX(), p.getY(), this));
}
從KeyRealeased:
else if (key == KeyEvent.VK_Q)
{
is_shooting = false;
}
原樣,可以拍攝多達你想要多,is_shooting剛從按住按鍵後停止。我希望它能在拍攝完之後有一個冷卻時間,然後才能拍攝下一張照片。我嘗試使用Thread.Sleep,但這也會使角色在冷卻期間無法移動。任何幫助表示讚賞。
'Thread.sleep'不鎖定您的播放器,但整個事件隊列,如果直接執行它在關鍵處理方法中。基本上完整的GUI凍結。 – Paul