XNA माउस क्लिक को कैप्चर करता है जब गेम में फोकस नहीं होता है


13

अगर मैं ऑल-टैब और गेम विंडो के बाहर सामान करता हूं, तो गेम अभी भी माउस क्लिक (बाएं और दाएं क्लिक दोनों) को कैप्चर करता है।

खेल क्लिकों को "उपभोग" नहीं करता है, क्योंकि उन्हें उस एप्लिकेशन पर भी भेजा जाता है जिसमें फोकस होता है।

लेकिन जब भी आप अपने इंटरनेट ब्राउज़र में क्लिक करते हैं, तो हर बार बंदूक की आवाज़ सुनने के बजाय यह कष्टप्रद होता है ...

साथ ही, यह समस्या तब भी होती है जब गेम फ़ुलस्क्रीन पर सेट होता है।

जवाबों:


15

सबसे अच्छा समाधान जो मैंने पाया है वह यह है कि यदि यह निष्क्रिय हो जाता है तो इनपुट पर प्रतिक्रिया देना बंद कर दें (और शायद आपके खेल को भी रोक दें)।

आप घटनाओं और घटनाओं की जांच Game.IsActiveया हुक कर सकते हैं।ActivatedDeactivated

एक छोटी सी खामी है - मैं इस रूपरेखा में एक बग पर विचार करना चाहूंगा - खेल हमेशा सक्रिय स्थिति में शुरू होता है, भले ही खेल वास्तव में सक्रिय न हो जब यह चलना शुरू होता है। (उदाहरण के लिए: आप अपना गेम लॉन्च करने और वास्तव में शुरू होने वाले गेम के बीच एक अन्य विंडो पर क्लिक करें।)

आप सक्रिय खेल क्या है जब आपके खेल शुरू होता है, शायद का उपयोग करके यह जाँच कर सकता है GetForegroundWindow। या आप इसके बारे में चिंता नहीं कर सकते - यह कभी-कभार डेवलपर के रूप में होता है, लेकिन मुझे संदेह है कि यह वास्तव में अंतिम-उपयोगकर्ताओं को प्रभावित नहीं करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.