आपके द्वारा बनाए गए स्थानों की सूची प्राप्त करें

पेज अद्यतन :
पेज निर्माण की तारीख :

सत्यापन वातावरण

विंडोज़
  • विंडोज 11
एकता संपादक
  • 2021.3.12f1
इनपुट सिस्टम (एकता प्रौद्योगिकी)
  • 1.4.4
स्थानीयकरण (एकता प्रौद्योगिकी)
  • 1.3.2

इस टिप के लिए आवश्यक शर्तें

इस टिप के विवरण के लिए एक आधार के रूप में निम्नलिखित सेटिंग्स पहले से बनाई गई हैं।

हमारे सुझावों के लक्ष्य

ड्रॉप-डाउन यूआई में संबंधित स्थानों की एक सूची प्रदर्शित करता है और उपयोगकर्ता द्वारा चुने गए स्थान से मेल खाने के लिए प्रदर्शन पाठ को टॉगल करता है।

आवश्यक ज्ञान और तैयारी

यह टिप निम्न पाठ का स्थानीयकरण मानता है: सबसे पहले, स्थानीयकृत पाठ प्रदर्शित करने के लिए तैयार करने के लिए कृपया निम्न युक्तियों को देखें।

स्थान परिवर्तन ड्रॉप-डाउन प्लेसमेंट

स्थानों की सूची प्रदर्शित करने के लिए एक ड्रॉप-डाउन प्रदान करता है। आपको केवल प्रदर्शित करने और चयन करने में सक्षम होने की आवश्यकता है, इसलिए सुनिश्चित करें कि यूआई पैरामीटर उचित रूप से सेट किए गए हैं।

स्थानों की एक सूची प्राप्त करें

आप में बनाए गए स्थानों की एक सूची प्राप्त कर सकते हैं LocalizationSettings.AvailableLocales.Locales । यदि आप इसका उपयोग करते हैं और दृश्य की शुरुआत में इसे ड्रॉप-डाउन पर सेट करते हैं, तो आप ठीक हैं। हालाँकि, जब आप गेम शुरू करते हैं तो Localization प्रारंभ पूरा नहीं हो सकता है, इसलिए आपको इसे पूरा करने के लिए प्रतीक्षा करने की आवश्यकता हो सकती है।

सबसे पहले, एक स्क्रिप्ट बनाएँ। DropDownEvent नाम को इस रूप में छोड़ दें।

स्क्रिप्ट इस तरह दिखती है:

using UnityEngine;
using UnityEngine.Localization.Settings;
using UnityEngine.UI;

public class DropDownEvent : MonoBehaviour
{
  // 最初のフレームアップデートの前に開始が呼び出されます
  async void Start()
  {
    // Localization の初期化が完了するまで待機します
    await LocalizationSettings.InitializationOperation.Task;

    // 処理対象の Dropdown コンポーネントを取得します
    var dropdownLocale = GetComponent<Dropdown>();
    dropdownLocale.options.Clear();

    // LocalizationSettings.AvailableLocales.Locales からロケール一覧を取得してオプションを追加します
    foreach (var locale in LocalizationSettings.AvailableLocales.Locales)
    {
      dropdownLocale.options.Add(new Dropdown.OptionData(locale.name));
    }

    // 初期選択されているロケールのインデックスを取得して選択します
    dropdownLocale.value = LocalizationSettings.AvailableLocales.Locales.IndexOf(LocalizationSettings.SelectedLocale);

    // ドロップダウンのアイテムが選択されたときにロケールを変更します
    dropdownLocale.onValueChanged.AddListener((index) =>
    {
      LocalizationSettings.SelectedLocale = LocalizationSettings.AvailableLocales.Locales[index];
    });
  }
}

Start विधि दृश्य की शुरुआत में प्रसंस्करण करती है, लेकिन इस बिंदु Localization पर, आरंभ पूरा नहीं हो सकता है। await LocalizationSettings.InitializationOperation.Task प्रारंभ पूरा होने की प्रतीक्षा करें. await , तो Start कृपया इसे विधि में async जोड़ें।

LocalizationSettings.AvailableLocales.Locales इसके बाद, आपके द्वारा बनाए गए स्थानों की एक सूची होती है, इसलिए foreach जितने चाहें उतने स्थानों को संसाधित करें। Dropdown.OptionData स्थान नाम सेट Dropdown करें और इसे जोड़ें.

ड्रॉप-डाउन में वर्तमान स्थान का चयन Dropdown.value करने के लिए, गुण में लक्ष्य स्थान खोजें और अनुक्रमणिका सेट करें.

यह सूची बनाने का अंत है, लेकिन मैं एक ऐसी प्रक्रिया भी शामिल करना चाहता हूं जो ड्रॉप-डाउन आइटम का चयन होने पर स्थान को बदल देती है। onValueChanged इवेंट में स्थानीय स्विचिंग जोड़ता है. यह पिछली टिप के समान है

ड्रॉपडाउन में आपके द्वारा बनाई गई स्क्रिप्ट अनुलग्न करें.

चलाएँ और सत्यापित करें

इसे देखने के लिए गेम चलाने का प्रयास करें। एक समय होता है जब गेम शुरू होने के तुरंत बाद लोकेल सूची सेट नहीं की जाती है, Localization क्योंकि प्रारंभ नहीं की जाती है।

थोड़े समय के बाद, आपको ड्रॉपडाउन में पंजीकृत स्थानों की सूची देखने में सक्षम होना चाहिए। यदि आप आइटम्स स्विच करने का प्रयास करते हैं, तो आपको यह देखने में सक्षम होना चाहिए कि पाठ की सामग्री बदलती है.