ดูรายการตําแหน่งที่ตั้งที่คุณสร้างขึ้น
สภาพแวดล้อมการตรวจสอบ
- หน้าต่าง
-
- หน้าต่าง 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
เนื่องจากไม่ได้เริ่มต้น
หลังจากเวลาผ่านไปเล็กน้อยคุณควรจะเห็นรายการสถานที่ที่ลงทะเบียนในเมนูแบบเลื่อนลง ถ้าคุณลองสลับรายการ คุณควรจะเห็นว่าเนื้อหาของข้อความเปลี่ยนแปลงไป