मानक दृष्टिकोण हैं (एक चुनें):
- अपनी सीमा की चौड़ाई बढ़ाएँ और / या अपनी बुलेट की अधिकतम गति को कम करें ताकि यह एक भी अपडेट में दीवार के माध्यम से कभी भी कूद न सके (अधिकतम दूरी / न्यूनतम सीमा चौड़ाई का पता लगाने के लिए पाइथागोरस के एक बिट की आवश्यकता होती है);
- चलती वस्तु के आगे रैखिक (2) या प्लानेर (3 डी) सतहों के साथ टकराव का पता लगाने के लिए, आमतौर पर निरंतर टक्कर का पता लगाने (सीसीडी) का प्रदर्शन करें। यह अधिक महंगा है, लेकिन एक अधिक अच्छी तरह से गोल समाधान है। 2 डी लाइनों के खिलाफ Raycasting बहुत बुनियादी है, लेकिन आपको इस मामले में सीधे-सीधे बहुभुज के रूप में अपनी सभी सीमाओं को परिभाषित करने की आवश्यकता है।
इस मामले के लिए, आप अपनी गोलियों को किरणों के रूप में मॉडल कर सकते हैं - यदि वह आपके गेम के रूप और रंग के साथ फिट बैठता है, जैसा कि लेफ्ट 4 केडेड में है । इस तरह आपको किरणों के रूप में गोलियों का अनुमान लगाने की आवश्यकता नहीं है, क्योंकि वे पहले से ही किरणें हैं। लुक के दृष्टिकोण से, यह सभ्य लग सकता है यदि आप बुलेट छोर पर एक उज्ज्वल स्थान के साथ रेखा खींचते हैं, या बस प्रकाश (बुलेट एंड) से अंधेरे (टेल एंड) तक ग्रेडिएंट के रूप में रेखा खींचते हैं, जिससे यह दिखाई देता है प्रस्ताव।
मैं सहमत हूँ कि ज्यादातर परिस्थितियों में, टक्कर का पता लगाने के लिए ग्राफिक्स का उपयोग करना थोड़ा पथभ्रष्ट है, हालाँकि पिक्सेल-परफेक्ट टक्कर का पता लगाना बिल्कुल सही है, और यह एक स्वीकृत तकनीक है। मुझे लगता है कि यह सब इस बात पर निर्भर करता है कि आप क्या हासिल करना चाहते हैं, और कितनी जल्दी। यदि आपको कई निकायों + क्रिया के साथ बहुत तेज़ गेम की आवश्यकता नहीं है, तो इसके लिए जाएं। ऊपर उल्लिखित दृष्टिकोणों में से एक का उपयोग करने के लिए बेहतर है।