# रद्दीकरण को पूर्ण इनपुट पथ मानें

> जब ब्राउज़र किसी पॉइंटर को रद्द करता है तो ड्रैग और होल्ड क्रियाओं को सुरक्षित रूप से समाप्त करें, और स्क्रॉलिंग, रोटेशन या रुकावट के बाद अटके हुए नियंत्रणों से बचें।

- URL: https://oneshotgems.ai/hi/topics/pointer-cancellation-in-games
- श्रेणी: गेम डेवलपर के लिए
- प्रकार: गाइड
- अपडेट किया गया: 5 अक्टूबर 2026

पॉइंटर इंटरैक्शन हमेशा pointerup से समाप्त नहीं होता। टच के पेज स्क्रॉल या ज़ूम में बदलने पर, या जब डिवाइस या ब्राउज़र उस पॉइंटर के इवेंट भेजना जारी न रख सके, तो ब्राउज़र इंटरैक्शन रद्द कर सकता है। अगर गेम की स्टेट मशीन रद्द होने की स्थिति नहीं संभालती, तो खींची जा रही वस्तु अटकी रह सकती है या दबाकर रखी गई कार्रवाई रुक ही नहीं सकती।

## क्लीनअप को idempotent बनाएं

जब pointerdown ड्रैग शुरू करता है, तो सक्रिय pointerId और उसके स्वामित्व वाली वस्तु या क्रिया को संग्रहीत करें। pointerup और pointercancel दोनों को उस इंटरैक्शन को समाप्त करना चाहिए और उसकी स्थिति साफ़ करनी चाहिए। क्लीनअप लिखें, इसलिए पहले से समाप्त कार्रवाई के बाद इसे कॉल करना हानिरहित है; यह कैप्चर लॉस, विंडो परिवर्तन और बार-बार रक्षात्मक सफाई से निपटने को सरल बनाता है।

यदि पॉइंटर कैप्चर का उपयोग कर रहे हैं, तो lostpointercapture को एक अन्य संकेत के रूप में सुनें कि इंटरैक्शन अब पॉइंटर का स्वामी नहीं है। रद्दीकरण को सफल ड्रॉप के रूप में न समझें जब तक कि खेल उस परिणाम को स्पष्ट रूप से परिभाषित न करे। रद्द किया गया ड्रैग किसी ऑब्जेक्ट को उसकी आरंभिक स्थिति में लौटा सकता है, अंतिम वैध स्थिति बनाए रख सकता है या चाल को रद्द कर सकता है; एक नियम चुनें और दृश्य संकेत के माध्यम से खिलाड़ी को बताएं।

## ब्राउज़र जेस्चर अधिग्रहण का परीक्षण करें

एक ड्रैग का प्रयास करें जो गेम की सतह पर शुरू होता है और स्क्रीन किनारे की ओर जारी रहता है, एक ऊर्ध्वाधर पृष्ठ स्क्रॉल जो सतह पर शुरू होता है, एक होल्ड के दौरान रोटेशन, और दूसरी उंगली कहीं और छूती है। पुष्टि करें कि रद्दीकरण के बाद कोई पात्र चलता नहीं रहता और कोई भी बटन दबा हुआ नहीं रहता है।

touch-action प्रॉपर्टी प्रभावित करती है कि ब्राउज़र कौन से इशारों को संभालता है। एमडीएन बताता है कि ब्राउज़र पैनिंग या ज़ूमिंग का कार्यभार संभालते समय pointercancel भेज सकते हैं। रद्दीकरण को एक सामान्य परिणाम मानें जिसे आपके इंटरैक्शन मॉडल को संभालना होगा।

## सवाल

**क्या pointercancel एक विफल pointerup है?** यह एक अलग संकेत है कि सूचक अब वर्तमान इंटरैक्शन जारी नहीं रखेगा। क्लीनअप चलाएँ और कार्रवाई पूर्ण मानने के बजाय गेम रद्द करने का नियम लागू करें।

**क्या स्पर्श-क्रिया प्रत्येक सूचक रद्दीकरण को रोक सकती है?** नहीं, यह स्पर्श इशारों के ब्राउज़र प्रबंधन का मार्गदर्शन करता है, लेकिन अन्य स्थितियाँ अभी भी पॉइंटर इवेंट डिलीवरी को समाप्त कर सकती हैं। गेम की सतह पर कस्टम जेस्चर नियम होने पर भी रद्दीकरण प्रबंधन जारी रखें।

## अपनी जिज्ञासा के साथ आगे बढ़ें

- [ब्राउज़र गेम इनपुट के लिए पॉइंटर इवेंट का उपयोग करें](https://oneshotgems.ai/hi/topics/pointer-events-for-games): गेम लूप में कैप्चर, डिवाइस पहचान और संगतता व्यवहार को संरक्षित करते हुए पॉइंटर इवेंट के माध्यम से माउस, पेन और टच को मॉडल करें।
- [वेब गेम के लिए टच कंट्रोल डिज़ाइन करें](https://oneshotgems.ai/hi/topics/touch-controls-for-web-games): ब्राउज़र के जेस्चर, स्पष्ट दृश्य प्रतिक्रिया और तय पॉइंटर स्थिति को ध्यान में रखकर टच इंटरैक्शन की योजना बनाएँ, ताकि फ़ोन पर गेम का व्यवहार अनुमानित रहे।

## आगे पढ़ें

- [एमडीएन: पॉइंटरकैंसिल इवेंट](https://developer.mozilla.org/en-US/docs/Web/API/Element/pointercancel_event)
- [एमडीएन: स्पर्श-क्रिया](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/touch-action)

---
मूल पेज: https://oneshotgems.ai/hi/topics/pointer-cancellation-in-games
