ดูรายการตําแหน่งที่ตั้งที่คุณสร้างขึ้น
สภาพแวดล้อมการตรวจสอบ
- หน้าต่าง
 - 
- หน้าต่าง 11
 
 - บรรณาธิการ Unity
 - 
- ปี 2021.3.12f1
 
 - ระบบอินพุต (Unity Technologies)
 - 
- 1.4.4
 
 - การแปลเป็นภาษาท้องถิ่น (เทคโนโลยีความสามัคคี)
 - 
- 1.3.2
 
 
ข้อกําหนดเบื้องต้นสําหรับเคล็ดลับนี้
การตั้งค่าต่อไปนี้ได้ทําไว้ล่วงหน้าเพื่อเป็นหลักฐานสําหรับคําอธิบายของเคล็ดลับนี้
เป้าหมายของเคล็ดลับของเรา
แสดงรายการตําแหน่งที่ตั้งที่เกี่ยวข้องใน UI แบบหล่นลงและสลับข้อความที่แสดงให้ตรงกับตําแหน่งที่ตั้งที่ผู้ใช้เลือก
ความรู้เบื้องต้นและการเตรียมตัว
เคล็ดลับนี้ถือว่าการแปลข้อความต่อไปนี้: ก่อนอื่นโปรดดูเคล็ดลับต่อไปนี้เพื่อเตรียมแสดงข้อความที่แปลเป็นภาษาท้องถิ่น
ตําแหน่งดรอปดาวน์การเปลี่ยนแปลงตําแหน่งที่ตั้ง
แสดงดรอปดาวน์เพื่อแสดงรายการตําแหน่งที่ตั้ง คุณจะต้องสามารถแสดงและเลือกได้ดังนั้นตรวจสอบให้แน่ใจว่าพารามิเตอร์ UI ได้รับการตั้งค่าอย่างเหมาะสม
ดูรายชื่อตําแหน่งที่ตั้ง
คุณสามารถรับรายการตําแหน่งที่ตั้ง 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 เนื่องจากไม่ได้เริ่มต้น
หลังจากเวลาผ่านไปเล็กน้อยคุณควรจะเห็นรายการสถานที่ที่ลงทะเบียนในเมนูแบบเลื่อนลง ถ้าคุณลองสลับรายการ คุณควรจะเห็นว่าเนื้อหาของข้อความเปลี่ยนแปลงไป