2012-06-06 42 views
2

標題只是說明了一切。我從XNA Game類派生,並設置IsMouseVisible = true。我有一個雙屏幕設置,輔助顯示屏從主屏幕擴展。我將我的遊戲設置爲全屏模式(GraphicsDeviceManager.IsFullScreen = true)。所有工作正常和全屏模式被初始化。我遇到的唯一問題是鼠標不能在全屏遊戲中保持綁定狀態。只要它到達全屏遊戲的邊緣,它就會無縫移動到輔助監視器上。這是預期的嗎?C#XNA 4.0全屏鼠標移入第二臺顯示器

我做一個Mouse.GetState()檢索鼠標信息的每一幀在我的遊戲運行相同的線程。

我甚至在每次調用GetState之前都嘗試設置Mouse.WindowHandle = GameWindowHandle,但它不會改變任何東西。

任何想法?或者是這種預期的行爲,我需要將鼠標夾到全屏幕區域?

問候, 裏安

回答

3

是的,沒錯,夾緊你的鼠標,你希望它留在屏幕上。這與我(和許多其他人)在爲我的遊戲實現精靈遊標時使用的方法類似。我隱藏了系統鼠標,並將其夾在屏幕的中央,以便它不會顯示在其他顯示器上。

唯一的缺點是,如果你最小化遊戲等,你必須解開你的鼠標。否則它會一直卡住,這真的很煩人。

+0

A.R.謝謝你的回覆,所以這意味着我不能使用我的鼠標的系統圖標? Atm我只是加載ico文件(其中一些是動畫的),它由系統光標自動顯示,方便!我仍然可以這樣做,還是必須將其放入圖像中,並使用spritebatch將其顯示在隱藏的鼠標位置...... –

+0

不,您可以使用系統圖標,但前提是系統鼠標可見。然而,如果你想要做非系統的東西,比如調整alpha,使用一個大的位圖等,你可能會需要自己的精靈。在這種情況下,系統光標會被隱藏起來,而你的是被使用的。 –