เปลี่ยนตําแหน่งที่ตั้งได้ตลอดเวลา
สภาพแวดล้อมการตรวจสอบ
- หน้าต่าง
-
- หน้าต่าง 11
- บรรณาธิการ Unity
-
- ปี 2021.3.12f1
- ระบบอินพุต (Unity Technologies)
-
- 1.4.3
- การแปลเป็นภาษาท้องถิ่น (เทคโนโลยีความสามัคคี)
-
- 1.3.2
ข้อกําหนดเบื้องต้นสําหรับเคล็ดลับนี้
การตั้งค่าต่อไปนี้ได้ทําไว้ล่วงหน้าเพื่อเป็นหลักฐานสําหรับคําอธิบายของเคล็ดลับนี้
ความรู้เบื้องต้นและการเตรียมตัว
เคล็ดลับนี้ถือว่าการแปลข้อความต่อไปนี้: ก่อนอื่นโปรดดูเคล็ดลับต่อไปนี้เพื่อเตรียมแสดงข้อความที่แปลเป็นภาษาท้องถิ่น
การวางปุ่มสําหรับเปลี่ยนตําแหน่งที่ตั้ง
หากคุณเรียกใช้ใน Unity Editor คุณสามารถเปลี่ยนตําแหน่งที่ตั้งที่มุมขวาบนของหน้าจอ แต่หลังจากสร้างเกมแล้วจะไม่มีฟังก์ชันนั้นและคุณต้องเตรียมมันด้วยตัวเอง คราวนี้ฉันจะวางปุ่มเพื่อสลับระหว่างสามภาษา "ญี่ปุ่น (ja)", "อังกฤษ (en)" และ "สเปน (es)" และคลิกเพื่อสลับ
การเขียนสคริปต์สําหรับปุ่ม
ตรวจสอบให้แน่ใจว่าวิธีการเป้าหมายถูกเรียกเมื่อคุณคลิกปุ่ม นี่เป็นขั้นตอนวัตถุประสงค์ทั่วไปดังนั้นฉันจะละเว้นรายละเอียด ดูเคล็ดลับต่อไปนี้สําหรับคําแนะนําโดยละเอียด
ButtonEvent
สร้างสคริปต์ด้วยชื่อ .
using UnityEngine;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
}
}
กําหนดแต่ละวิธีให้กับการคลิกปุ่ม
การจัดการการเปลี่ยนแปลงตําแหน่งที่ตั้ง
ปรับเปลี่ยนรหัสดังต่อไปนี้:
using UnityEngine;
using UnityEngine.Localization;
using UnityEngine.Localization.Settings;
public class ButtonEvent : MonoBehaviour
{
<summary>Japanese (ja) ボタンをクリックしたとき。</summary>
public void OnClickJa()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("ja");
}
<summary>English (en) ボタンをクリックしたとき。</summary>
public void OnClickEn()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("en");
}
<summary>Spanish (es) ボタンをクリックしたとき。</summary>
public void OnClickEs()
{
LocalizationSettings.SelectedLocale = Locale.CreateLocale("es");
}
}
การเปลี่ยนแปลงนั้นง่าย LocalizationSettings.SelectedLocale
และสามารถเปลี่ยนได้โดยเพียงแค่กําหนดเป้าหมาย Locale
ในทรัพย์สิน
Locale
Locale.CreateLocale
สามารถสร้างได้โดยการตั้งค่าชื่อของตําแหน่งที่ตั้งในวิธีการ
อย่างไรก็ตาม เนื่องจากกระบวนการเปลี่ยนตําแหน่งที่ตั้งเป็นแบบอะซิงโครนัสLocalizationSettings.SelectedLocale
กระบวนการถัดไปที่ตั้งค่าไม่ได้หมายความว่าตําแหน่งที่ตั้งถูกสลับอย่างสมบูรณ์แล้ว
โปรดใช้ความระมัดระวังหากคุณกําลังดําเนินการที่ขึ้นอยู่กับตําแหน่งที่ตั้ง
เรียกใช้และตรวจสอบ
นี่คือทั้งหมดที่มีดังนั้นโปรดเรียกใช้และตรวจสอบการเคลื่อนไหว ที่มุมขวาบนของหน้าจอเกมคุณจะเห็นว่าทรัพยากรต่างๆสลับแบบไดนามิกในลักษณะเดียวกับเมื่อคุณเปลี่ยนสถานที่