मैं फिजिक्स2डी सर्कल कास्ट का उपयोग कर रहा हूं और दस्तावेज़ीकरण पर एक नज़र डाल रहा हूं, https:// docs.unity3d.com/ScriptReference/Physics2D.CircleCast.html, एक ही नाम की 3 घोषणाएं हैं, और तीसरा मेरी आवश्यकताओं के लिए सबसे उपयुक्त है, मैं पहले वाले के बजाय इसका उपयोग कैसे करूं?

Physics2D.CircleCast(transform.position, radius, Vector2.up, ContactFilter2D.NoFilter, colliders, 0f);

मेरे पास अब तक यही है और यह मुझे यह कहते हुए एक कंपाइलर त्रुटि दे रहा है कि संपर्क फ़िल्टर को एक पूर्णांक होना चाहिए।

-1
TheVan 5 नवम्बर 2021, 14:02

1 उत्तर

सबसे बढ़िया उत्तर

आप किस बारे में बात कर रहे हैं ओवरलोड

एक अतिभारित विधि का अर्थ है कि आपके पास एक ही नाम के साथ कई संस्करण हैं लेकिन अलग-अलग हस्ताक्षर हैं।

=> आप सक्रिय रूप से यह तय नहीं करते हैं कि आप किस अधिभार का उपयोग करते हैं!

कंपाइलर स्वयं यह पता लगाता है कि आप किस प्रकार के पैरामीटर किस क्रम में प्रदान करते हैं और स्वचालित रूप से दिए गए हस्ताक्षर जो सबसे अच्छा फिट बैठता है के साथ ओवरलोड विधि का उपयोग करता है पैरामीटर।

तो अगर आप लिखते हैं

Physics2D.CircleCast(transform.position, radius, Vector2.up, new ContactFilter2D().NoFilter(), colliders, 0f);

यह स्वचालित रूप से हस्ताक्षर के साथ अधिभार का उपयोग करेगा (यदि आपका colliders एक List<RaycastHit2D> है)

Physics2D.CircleCast(Vector2, float, Vector2, ContactFilter2D, List<RaycastHit2D>, float);

या तदनुसार (यदि आपका colliders एक RaycastHit2[] है)

Physics2D.CircleCast(Vector2, float, Vector2, ContactFilter2D, RaycastHit2D[], float);
0
derHugo 8 नवम्बर 2021, 12:25
ऐसा लगता है कि यह काम कर गया है! ऐसा लगता है कि समस्या यह है कि मैं कॉन्टैक्टफिल्टर 2 डी का उपयोग कर रहा था। कॉन्टैक्टफिल्टर 2 डी वैरिएबल असाइन करने और फिर फ़ंक्शन में इसका उपयोग करने के बजाय फ़ंक्शन कॉल के अंदर नोफिल्टर का उपयोग कर रहा था। हालांकि मेरा फ़िल्टर काम नहीं कर रहा है, यह कहता है कि इसे ऑब्जेक्ट संदर्भ की आवश्यकता है। :/
 – 
TheVan
8 नवम्बर 2021, 12:18
ऐसा लगता है कि यह Physics2D.CircleCast(transform.position, radius, Vector2.up, new ContactFilter2D().NoFilter(), colliders, 0f); जैसी किसी चीज़ की अपेक्षा करता है
 – 
derHugo
8 नवम्बर 2021, 12:25
बढ़िया, यह काम किया, विश्वास नहीं कर सकता कि मैं जो कुछ खो रहा था वह एक "नया" था, मदद के लिए धन्यवाद!
 – 
TheVan
8 नवम्बर 2021, 12:26