2013-04-23 7 views
7

में टैग द्वारा निष्क्रिय गेमोबजेक्ट ढूंढें मेरे पास एक गेमोबजेक्ट है जिसे मैं एक निश्चित शर्त को सक्रिय करना चाहता हूं। मैंने इसे एक अनूठा टैग दिया और मैंने GameObject.FindObjectWithTag("Tag name"). का उपयोग करने की कोशिश की जो मैं बता सकता हूं, इस विधि को केवल दृश्य में सक्रिय गेमोबजेक्ट मिलेगा, न कि निष्क्रिय।unity3d

क्या कोई तरीका है जिसे मैं कॉल कर सकता हूं जो निष्क्रिय गेमोबजेक्ट भी खोजेगा? (पसंदीदा रूप से टैग द्वारा खोज)।

धन्यवाद!

उत्तर

12

कुछ शोध के बाद ऐसा लगता है कि टैग द्वारा निष्क्रिय गेमोबेट खोजने का कोई तरीका नहीं है।

समाधान मौजूद तथापि निष्क्रिय gameobjects तक पहुँचने के लिए:

1 - एक सरणी में स्टोर निष्क्रिय खेल वस्तुओं यदि आप उन्हें बाद में पुन: सक्रिय करने की जरूरत है (केवल रनटाइम पर निष्क्रिय वस्तुओं खेल के लिए लागू होता है)।

2 - गेम ऑब्जेक्ट को निष्क्रिय न करें, केवल उन घटकों को निष्क्रिय करें जिन्हें आप निष्क्रिय करना चाहते हैं। यदि आप ऑब्जेक्ट गायब करना चाहते हैं, तो रेंडरर को निष्क्रिय करें। यदि यह एक विशिष्ट स्क्रिप्ट है, तो उस स्क्रिप्ट को निष्क्रिय करें, आदि

यह समाधान आपको अभी भी अपने टैग नाम से गेम ऑब्जेक्ट खोजने की अनुमति देगा।

+0

सही रूप में यह निशान है, क्योंकि यह वास्तव में सही जवाब है। – Heisenbug

+0

निश्चित है सही है। निष्क्रिय वस्तु नहीं मिल सका। संदर्भ स्टोर करना चाहिए। –

+0

यह गलत है। आप निष्क्रिय वस्तुओं को प्राप्त कर सकते हैं। नीचे टिप्पणी देखें। RTFM। – Alex

1

FindObjectsOfTypeAll निष्क्रिय पाया जाता है, यह केवल प्रीफैब और चीजें भी ढूंढ सकता है जिन्हें आप ढूंढ नहीं रहे हैं, इसलिए आपको सावधान रहना होगा।

+0

हां, और यह बहुत धीमा है – RedOrav

5

चीज़ें है कि निष्क्रिय gameObjects पा सकते हैं:

transform.Find() or transform.FindChild() 
transform.GetComponentsInChildren<Component>(true) 

Resources.FindObjectsOfTypeAll<Component>() 

For more details.

+0

@ क्लोपेट्रा: श्री। ... मैं इसे ध्यान में रखूंगा। :) – Vineet

+0

हालांकि यह निष्क्रिय वस्तुओं को पा सकता है, यह टैग द्वारा ऑब्जेक्ट नहीं मिलेगा, जो मैं वास्तव में पूछ रहा था। – kUr4m4

+0

'Resources.FindObjectsOfTypeAll () 'का उपयोग न करें जब तक कि आप नहीं जानते कि आप क्या कर रहे हैं। यह prefabs सहित संसाधनों में कुछ भी प्रभाव डालता है। इसका मतलब है कि आप खेलना बंद करने के बाद भी, अपनी फ़ाइलों और दृश्य के बाहर कुछ भी ** स्थायी परिवर्तन ** कर देंगे। –

संबंधित मुद्दे