Solusi terbaik yang saya temukan untuk ini adalah berhenti merespons input (dan mungkin juga menghentikan game Anda) jika tidak aktif.
Anda dapat memeriksa Game.IsActive
atau mengaitkan Activated
dan Deactivated
acara.
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.