2016-03-28 191 views
2

我有一個javafx遊戲,順便說一句,作爲一個窗口的應用程序運行。遊戲是通過移動和點擊鼠標來控制的,但是當我將鼠標移動太遠並且移出窗口時會出現問題,因爲我之前提到點擊也是遊戲的一部分,我們都知道點擊如果我偶然點擊了谷歌瀏覽器,並且我的遊戲隱藏在谷歌瀏覽器後面,但由於它仍在運行,我將失去它,除非我能夠快速地將遊戲中的Alt + Tab快速轉換回遊戲。如何阻止鼠標退出窗口?

我希望通過不允許鼠標退出窗口,將其限制到我的遊戲運行的窗口/舞臺/場景的邊界來解決此問題。是否可以像這樣收縮鼠標?我應該怎麼做?

+1

http://stackoverflow.com/questions/2941324/how-do-i-set-the-position-of-the-mouse-in-java當用戶嘗試移動它時,將其移動到邊界。 – Sarvadi

+0

我可以嘗試,一旦我回到我的工作電腦回家 – Chexxor

回答

1

可以通過Robot來做到這一點。具體而言,您可以使用mouseMove重置鼠標位置,當它偏離太遠時。

或者,您可能會考慮允許用戶跳過您的窗口,但讓您的遊戲對該事件做出反應。例如,當鼠標離開窗口時暫停遊戲。

您可以使用pointerInfo來跟蹤光標的位置(如討論here)。

+0

我會檢查出機器人,當我回家,但我手動必須將鼠標移動到我想要的位置?所以我必須計算它「應該」在哪裏? – Chexxor

+1

是的。使用'mouseMove',你可以明確地設置光標的座標。一個例子是不斷地觀察光標的X和Y座標,並簡單地重置X或Y以防止鼠標離開窗口的邊界。或者,您可以將光標移回窗口的中心。具體的實施將取決於你。 – mcmahoniel

相關問題