我正在研究Java中的第一人稱遊戲,並試圖讓3D移動工作。檢測Java中的3D第一人稱世界的鼠標移動
我的問題是我想捕捉鼠標移動,但保持鼠標在窗口內。捕捉到鼠標移動後,我認爲將鼠標放在窗口中的最佳方式是使用Robot.moveMouse(x,y)將鼠標移動到窗口中心。這很好,但是從機器人的移動觸發我的窗口中的事件,然後被解釋爲正常事件,從而移動我的角色在世界上。
我已經嘗試過保持狀態和忽略運動的各種方案,直到我處於中心位置,但他們都似乎很挑剔,並且不太清楚哪些事件是用戶vs機器人控制的。
有沒有一種簡單的方法來檢測到鼠標移動來自機器人?
是否有更簡單的方法可以解決我忽略的問題?
感謝您的迴應!不幸的是,getSource返回事件發生的地方(我懷疑getComponent是相似的)。我已經嘗試了像你描述的那樣設置狀態,但它似乎並不可靠,並以奇怪的行爲結束。我甚至嘗試過使用類似於按下按鈕描述的東西,但仍然以不可靠的行爲結束。也許我在這些方法上做了錯誤的事情,但我似乎得到了機器人與人類的混合事件,並最終忽視了我不應該做的事情,反之亦然。 – 2011-12-14 07:53:11