दृश्यों के बीच स्विच करें
सत्यापन वातावरण
- विंडोज़
-
- विंडोज 11
- एकता संपादक
-
- 2020.3.25f1
- इनपुट सिस्टम पैकेज
-
- 1.2.0
इस टिप के लिए आवश्यक शर्तें
इस टिप के विवरण के लिए एक आधार के रूप में निम्नलिखित सेटिंग्स पहले से बनाई गई हैं।
दृश्यों के बीच स्विच करने का तरीका जानें
एक दृश्य एक तथाकथित "दृश्य" है, लेकिन एकता "दृश्य" शब्द का उपयोग करती है क्योंकि यह है, इसलिए मैं इसे अभिव्यक्ति दृश्य के साथ समझाऊंगा।
खेल में दृश्यों के बीच अक्सर दृश्य बदल जाते हैं। उदाहरण के लिए, यदि आप गेम को स्टार्ट मेनू से शुरू करते हैं और कार्रवाई शुरू होती है, तो आप इसे सीन स्विच के रूप में सोच सकते हैं। साथ ही, एक क्रिया के दौरान मेनू स्क्रीन खोलने की क्रिया भी मेनू अभिव्यक्ति के आधार पर एक दृश्य स्विच होगी।
इस तरह के दृश्य स्विचिंग को एकता में लागू करने की आवश्यकता है, और ऐसा करने के कई तरीके हैं। उदाहरण के लिए, खेल में केवल एक "दृश्य (एकता में)" होना चाहिए। जब खेल दृश्य बदलता है, तो पिछले दृश्य से सभी वस्तुओं को त्याग दिया जाता है, और अगले दृश्य के लिए आवश्यक वस्तुएं उत्पन्न होती हैं। हालांकि, जबकि इस दृष्टिकोण में केवल एक दृश्य प्रदान करने का लाभ है, इसमें प्रोग्राम ेटिक रूप से ऑब्जेक्ट संक्रमण का प्रबंधन करने का नुकसान है।
इस टिप में, मैं दृश्यों के रूप में कई "दृश्य" फ़ाइलों को तैयार करने और दृश्यों को स्विच करने के लिए दृश्य में आवश्यक वस्तुओं को पहले से रखने की एक विधि को लागू करना चाहता हूं। वास्तविक दृश्यों के बीच स्विच करना बहुत आसान है क्योंकि आपको केवल दृश्य फ़ाइलों के बीच स्विच करना है।
दृश्य तैयार करना
सबसे पहले, एक सामान्य परियोजना बनाएं। यह माना जाता है कि आपने पहले से ही इनपुट सिस्टम पैकेज तैयार किया है और कैमरा कॉन्फ़िगर किया है।
इस बार, हम दो दृश्य फाइलें तैयार करेंगे, और पहले दृश्य में बटन पर क्लिक करने और दूसरे दृश्य में संक्रमण करने के संचालन को लागू करेंगे।
मौजूदा दृश्य का SampleScene
नाम रखा जाना चाहिए, इसलिए इसे SampleScene1
बदल दें।
इसके बाद, प्रोजेक्ट के एक खाली क्षेत्र पर राइट-क्लिक करें और "क्रिएट" से "दृश्य" चुनें। आप इसे प्रोजेक्ट टैब के नीचे + बटन से भी जोड़ सकते हैं।
एक नई दृश्य फ़ाइल जोड़ी जाएगी, इसलिए इसे नाम दें SampleScene2
।
SampleScene1
दृश्य खोलने के लिए डबल-क्लिक करें और ऑब्जेक्ट को नीचे दिखाए अनुसार रखें।
जब आप बटन क्लिक करते हैं, तो आप SampleScene2
इस पर संक्रमण कर सकते हैं, इसलिए लेआउट उपयुक्त हो सकता है।
SampleScene2
दृश्य खोलने के लिए डबल-क्लिक करें और ऑब्जेक्ट को नीचे दिखाए अनुसार रखें।
इससे कोई फर्क नहीं पड़ता कि आप क्या डालते हैं क्योंकि आप सिर्फ यह जानना चाहते हैं कि क्या बदल गया है।
दृश्य बनाने के बाद, मेनू से "फ़ाइल > बिल्ड सेटिंग्स" खोलें।
बिल्ड में शामिल दृश्यों में SampleScene2
गिरावट।
नीचे दिखाए गए अनुसार जोड़े जाने के बाद बिल्ड सेटिंग्स बंद करें।
दृश्य स्विचिंग प्रक्रिया
दृश्य स्विचिंग स्क्रिप्ट द्वारा किया जाता है, इसलिए कृपया एक स्क्रिप्ट बनाएं। नाम मनमाना है, लेकिन इस मामले SceneChange
में यह है।
स्क्रिप्ट इस तरह दिखती है:
using UnityEngine;
using UnityEngine.SceneManagement; // 追加
public class SceneChange : MonoBehaviour
{
<summary>ボタンをクリックしたときに呼ばれます。</summary>
public void OnClick()
{
// 指定したシーンを読み込み他のシーンは削除します
SceneManager.LoadScene("SampleScene2", LoadSceneMode.Single);
}
}
सामग्री बहुत सरल SceneManager.LoadScene
है और आप कॉलिंग विधियों द्वारा दृश्यों के बीच स्विच कर सकते हैं।
पहला तर्क उस दृश्य का नाम है जिस पर स्विच करना है।
यदि आप दूसरे तर्क के रूप में निर्दिष्ट करते हैं, तो आप वर्तमान दृश्य को बंद करते LoadSceneMode.Single
समय केवल निर्दिष्ट दृश्य खोल सकते हैं।
बस दृश्य LoadSceneMode.Additive
जोड़ें नामक एक पैरामीटर भी है, लेकिन मैं इस लेख में इसकी व्याख्या नहीं करूंगा।
स्क्रिप्ट सहेजने के बाद, SampleScene1
इसे खोलें और अनुलग्न करें. EventSystem
यह कोई भी वस्तु हो सकती है जिसे आप संलग्न करते हैं।
बटन के क्लिक ईवेंट को किसी ऑब्जेक्ट से अनुलग्न पर सेट OnClick
करें ताकि विधि को SceneChange
कॉल किया जा सके.
गेम चलाने का प्रयास करें और देखें कि बटन पर क्लिक करने के बाद दृश्य बदलता है या नहीं।