2012-06-06 2 views
2

머리 글자가이 모든 것을 말합니다. XNA Game 클래스에서 파생되고 IsMouseVisible = true를 설정합니다. 보조 디스플레이가 기본 디스플레이에서 확장되는 듀얼 스크린 설정이 있습니다. 내 게임을 전체 화면 모드로 설정했습니다 (GraphicsDeviceManager.IsFullScreen = true). 모두 잘 작동하고 전체 화면 모드가 초기화됩니다. 내가 가진 유일한 문제는 마우스가 전체 화면 게임 내에서 묶여 있지 않다는 것입니다. 전체 화면 게임의 가장자리에 도달하면 즉시 보조 모니터로 이동합니다. 이게 바하우가 될까?C# XNA 4.0 전체 화면 마우스가 두 번째 모니터로 이동

내 게임이 실행되는 동일한 스레드에서 모든 프레임의 마우스 정보를 검색하기 위해 Mouse.GetState()를 수행합니다.

나는 GetState를 호출하기 전에 Mouse.WindowHandle = GameWindowHandle을 설정해 보았지만 아무 것도 변경하지 않았습니다.

아이디어가 있으십니까? 아니면이 예상 된 동작이며 마우스를 전체 화면 영역에 고정해야합니까?

감사합니다, 리안

답변

3

예는, 정확히, 당신이에 있고 싶어 화면에 마우스를 고정. 이것은 내 게임에 스프라이트 커서를 구현할 때 I (및 많은 다른 사람들이) 사용하는 접근 방식과 유사합니다. 시스템 마우스를 숨기고 다른 모니터에 나타나지 않도록 화면 중앙에 고정시킵니다.

유일한 단점은 게임 등을 최소화 할 때 마우스를 언 클램프해야한다는 것입니다. 그렇지 않으면 막힌 채로있어 정말 짜증이납니다.

+0

A.R. 답장을 보내 주셔서 감사합니다. 따라서 마우스에 시스템 아이콘을 사용할 수 없습니까? Atm 난 그냥 ico 파일을로드 (일부는 애니메이션) 그리고 그것은 시스템 커서에 의해 자동으로 편리하게 표시됩니다! 이 작업을 계속 수행 할 수 있습니까? 아니면 이미지에 넣고 숨겨진 마우스의 위치에 spritebatch로 표시해야합니까? –

+0

아니요, 시스템 마우스 만 볼 수있는 경우에만 사용할 수 있습니다. 그러나 알파를 조정하거나 큰 비트 맵을 사용하는 등 비 시스템 작업을 수행하려는 경우 자신의 스프라이트가 필요하지 않을 수 있습니다.이 경우 시스템 커서가 숨겨지고 대신 사용자가 사용됩니다. –