# सबसे सरल टकराव परीक्षण का उपयोग करें जो आकार में फिट बैठता है

> टकराव का प्रतिनिधित्व चुनें जो आपके गेम में फिट बैठता है, अनावश्यक जोड़ी जांच को कम करें, और बाधाओं से गुजरने वाली वस्तुओं का निदान करें।

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

टक्कर जाँच से पता चलता है कि गेम की वस्तुएँ एक-दूसरे को छूती, ओवरलैप करती या उनका रास्ता काटती हैं या नहीं। शुरुआत के लिए जाँच का आकार अक्सर कला से सरल हो सकता है: ग्रिड सेल और प्लेटफ़ॉर्म के लिए आयत, गोल पात्रों के लिए वृत्त, और अनियमित बाधा के लिए कुछ आकृतियों का समूह। पहले तय करें कि जाँचना क्या है—छूना, अंदर जाना या पार करना—फिर ऐसा परीक्षण चुनें जो हर बार एक जैसा उत्तर दे। जिन गेमों के नियम पहले से अनुमानित हैं, उनमें पिक्सेल-दर-पिक्सेल जाँच शायद ही ज़रूरी होती है और इससे जटिलता बढ़ती है।

## परीक्षण को नियम से मिलाएँ

अक्ष-संरेखित आयतों के लिए, प्रत्येक वस्तु के बाएँ, दाएँ, ऊपर और नीचे के विस्तार की तुलना करें; ओवरलैप तब होता है जब अंतराल दोनों अक्षों पर प्रतिच्छेद करते हैं। वृत्तों के लिए, केंद्र की दूरी की तुलना त्रिज्याओं के योग से करें। एक ग्रिड गेम यह जाँच कर ज्यामिति से पूरी तरह बच सकता है कि क्या दो अभिनेता एक ही सेल का दावा करते हैं।

दो रंगीन आकृतियों वाला छोटा जाँच दृश्य बनाएँ और उनके चुने हुए टक्कर क्षेत्र दिखाएँ। किनारों के छूने, आंशिक रूप से ओवरलैप होने और बिना टकराए पास से निकलने की स्थितियाँ जाँचें। तय करें कि किनारों का छूना टक्कर माना जाएगा या नहीं, और यही नियम लगातार लागू करें ताकि गति और स्कोर के निर्णय अलग न हों।

## तेज़ गति से बाधा पार करने वाली टक्कर न चूकें

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

बहुत सारी वस्तुओं में पहले मोटे ग्रिड या स्थानिक सेल से उन जोड़ियों को हटाएँ जो एक-दूसरे के पास नहीं हो सकतीं, फिर केवल संभावित जोड़ियों की विस्तृत जाँच करें। यह ढाँचा जोड़ने से पहले मापें; कुछ दर्जन इकाइयों के लिए सीधे हर जोड़ी की जाँच आसान और पर्याप्त हो सकती है।

## सवाल

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

**क्या कैनवास मुझे बता सकता है कि क्या दो स्प्राइट टकराते हैं?** Canvas में isPointInPath() जैसी पाथ जाँच होती है, जो किसी बिंदु के खींचे गए पाथ के भीतर होने का पता लगाती है; लेकिन Canvas सामान्य गेम-वस्तुओं के टक्कर नियम तय नहीं करता। सिमुलेशन की ज्यामिति स्पष्ट रखें और ड्रॉइंग से स्वतंत्र रखें।

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

- [डेल्टा टाइम से गति में उछाल रोकें](https://oneshotgems.ai/hi/topics/delta-time-in-games): खेल की गति के लिए बीता हुआ समय लागू करें, एक सुरक्षित कैच-अप नीति चुनें, और विभिन्न ताज़ा दरों पर और स्टालों के बाद गति का परीक्षण करें।
- [एक विश्वसनीय ब्राउज़र गेम लूप बनाएं](https://oneshotgems.ai/hi/topics/browser-game-loop): किसी खिलाड़ी के डिस्प्ले रिफ्रेश रेट पर सिमुलेशन गति को बांधे बिना ब्राउज़र गेम अपडेट की संरचना करना और एनीमेशन फ्रेम के आसपास ड्राइंग करना।
- [गेम फिजिक्स के लिए एक निश्चित टाइमस्टेप का उपयोग करें](https://oneshotgems.ai/hi/topics/fixed-timestep-game-physics): एक निश्चित सिमुलेशन चरण, सीमित कैच-अप कार्य और स्टालों और टकरावों के लिए परीक्षणों के साथ रेंडरिंग से भौतिकी अपडेट को अलग करें।

## आगे पढ़ें

- [MDN: Canvas isPointInPath()](https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/isPointInPath)

---
मूल पेज: https://oneshotgems.ai/hi/topics/game-collision-detection
