प्रत्येक सक्रिय सूचक को जानबूझकर ट्रैक करें
एक साधारण ड्रैग के लिए, pointerId को pointerdown से स्टोर करें और केवल तभी अपडेट करें जब वह पॉइंटर सक्रिय हो। पॉइंटर कैप्चर बाद की गति को बनाए रख सकता है और जब पॉइंटर अपनी सीमा से परे यात्रा करता है तो गेम तत्व पर रूट की गई घटनाओं को जारी कर सकता है। pointerup और pointercancel को अलग-अलग अंत के रूप में संभालें, और दोनों पथों में स्थिति को हटा दें ताकि खोया हुआ इशारा गेम को अटका न सके।
जब तक डिज़ाइन इनपुट को सीमित न करे, यह न मानें कि केवल एक पॉइंटर होगा। दूसरी उंगली, पेन या माउस से एक और pointerId मिल सकता है। अगर गेम एक समय में केवल एक ड्रैग की अनुमति देता है, तो अतिरिक्त पॉइंटर को इस तरह अनदेखा करें कि वे पहले ड्रैग को न बदलें।
चुनें कि डिवाइस का प्रकार कब मायने रखता है
PointerEvent में pointerType उपलब्ध होता है, ताकि ज़रूरत पड़ने पर टच, पेन और माउस को अलग-अलग संभाला जा सके। उदाहरण के लिए, ड्रॉइंग मैकेनिक्स पेन के दबाव का उपयोग कर सकती है, जबकि मेन्यू बटन को किसी भी प्राथमिक पॉइंटर को स्वीकार करना चाहिए। केवल अलग इवेंट सिस्टम दोबारा बनाने के लिए डिवाइस प्रकार के आधार पर कोड की शाखाएँ न बनाएँ; इससे खिलाड़ी का अनुभव बेहतर हुए बिना परीक्षण के रास्ते बढ़ते हैं।
ब्राउज़र पॉइंटर इनपुट के आसपास संगतता माउस ईवेंट उत्सर्जित कर सकते हैं, इसलिए दोनों प्रणालियों के माध्यम से एक क्रिया को दो बार संभालने से बचें। जब वे उपकरण दायरे में हों तो माउस, स्पर्श संपर्क और पेन का परीक्षण करें। एमडीएन दस्तावेज़ पॉइंटर कैप्चर, पॉइंटर पहचानकर्ता और इवेंट परिवार का माउस इवेंट से संबंध बताता है।
खेलों के लिए सूचक घटनाएँ से जुड़े सवाल
क्या पॉइंटर इवेंट माउस और टच को एक समान बनाते हैं?
वे एक इवेंट मॉडल साझा करते हैं, लेकिन गुण और उपयोगकर्ता अपेक्षाएं अभी भी भिन्न हो सकती हैं। पॉइंटरटाइप या अन्य ईवेंट विवरण का उपयोग केवल तभी करें जब गेम मैकेनिक्स के लिए कोई ठोस उपकरण-विशिष्ट आवश्यकता हो।
गेम को पॉइंटर कैप्चर का उपयोग कब करना चाहिए?
जब सक्रिय ड्रैग को पॉइंटर के तत्व के हिट क्षेत्र से बाहर जाने के बाद भी मूवमेंट और रिलीज़ इवेंट मिलते रहने चाहिए, तब पॉइंटर कैप्चर का उपयोग करें। सफ़ाई के दौरान कैप्चर छोड़ें और कैंसलेशन भी संभालें.
आगे पढ़ें
कोई पुरानी जानकारी दिखी? सुधार की जानकारी दें