XNA menangkap klik mouse saat game tidak memiliki fokus


13

Jika saya alt-tab dan melakukan hal-hal di luar jendela game, permainan masih menangkap klik mouse (klik kiri dan kanan).

Permainan tidak "mengonsumsi" klik, karena mereka juga dikirim ke aplikasi yang memiliki fokus.

Tapi agak menjengkelkan mendengar suara tembakan setiap kali Anda mengklik di peramban internet ...

Juga, masalah terjadi bahkan jika game diatur ke layar penuh.

Jawaban:


15

Solusi terbaik yang saya temukan untuk ini adalah berhenti merespons input (dan mungkin juga menghentikan game Anda) jika tidak aktif.

Anda dapat memeriksa Game.IsActiveatau mengaitkan Activateddan Deactivatedacara.

Ada satu kelemahan kecil - saya hanya akan menganggap ini bug dalam kerangka - permainan selalu dimulai dalam keadaan aktif, bahkan jika permainan tidak benar-benar aktif ketika mulai berjalan. (Misalnya: Anda mengklik ke jendela lain antara meluncurkan game dan game Anda benar-benar dimulai.)

Anda bisa mengatasinya dengan memeriksa apa jendela aktif saat game Anda mulai, mungkin menggunakan GetForegroundWindow. Atau Anda bisa saja tidak mengkhawatirkannya - ini kadang-kadang terjadi sebagai pengembang, tapi saya kira itu tidak benar-benar mempengaruhi pengguna akhir.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.