게임에 포커스가 없을 때 XNA가 마우스 클릭을 캡처


13

게임 창 밖에서 alt-tab하고 작업을 수행해도 게임은 여전히 ​​마우스 클릭 (왼쪽 및 오른쪽 클릭)을 캡처합니다.

클릭이 포커스가있는 응용 프로그램으로 보내지기 때문에 게임은 클릭을 "소비"하지 않습니다.

그러나 인터넷 브라우저에서 클릭 할 때마다 총소리를 듣는 것은 다소 성가신 일입니다 ...

또한 게임이 전체 화면으로 설정되어 있어도 문제가 발생합니다.

답변:


15

내가 찾은 가장 좋은 해결책은 입력이 비활성화되면 입력에 대한 응답을 중지하고 게임을 일시 중지하는 것입니다.

및 이벤트를 확인 Game.IsActive하거나 후크 할 수 있습니다 .ActivatedDeactivated

사소한 단점이 하나 있습니다. 프레임 워크의 버그로 생각하면됩니다. 게임이 시작될 때 실제로 활성화되지 않은 경우에도 게임은 항상 활성 상태에서 시작됩니다. (예 : 게임 시작과 게임 시작 사이에 다른 창을 클릭합니다.)

게임을 시작할 때 활성 창을 확인하여이 문제를 해결할 수 있습니다 GetForegroundWindow. 또는 걱정할 필요가 없습니다. 때로는 개발자로 발생하지만 최종 사용자에게는 실제로 영향을 미치지 않는 것 같습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.