0
我正在使用MouseOverArea
製作一個按鈕。經過一些試驗和錯誤之後,我意識到我可以覆蓋InputListener
中的方法,以在通知輸入事件時執行特定操作。我應該在InputListener對象的方法內實現動作嗎?
例如,當光標位於組件上方時按下鼠標左鍵時,請執行此操作。
@Override
public void mousePressed(int button, int mx, int my) {
if (isMouseOver() && button == Input.MOUSE_LEFT_BUTTON) {
// Some magic happens
}
}
但是,我不能做像改變當前遊戲狀態的事情,因爲沒有遊戲對象。我知道有很多方法可以解決這個問題,但我想知道什麼是Slick方式來做到這一點。
這些方法適合這種行爲嗎?
感謝您的快速回復。但是,在方法內部實現這種邏輯意味着這些標誌只會在某些輸入事件觸發後纔會更新。如果我只想執行一次動作,該怎麼辦?我可以在動作完成後重置標誌,但對於我在組件外部做這些事情似乎很奇怪。 – 2012-03-08 16:19:04