קבלת רשימה של אזורים שיצרת
סביבת אימות
- חלונות
-
- חלונות 11
- עורך Unity
-
- 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
הוספת החלפת אזור לאירוע. זה זהה לטיפ הקודם.
צרף את קובץ ה- Script שיצרת לרשימה הנפתחת.
הפעלה ואימות
נסה להפעיל את המשחק כדי לבדוק אותו.
קיים זמן שבו רשימת האזורים אינה מוגדרת מיד לאחר הפעלת המשחק, Localization
מכיוון שאינה מאותחלת.
לאחר זמן מה, אתה אמור להיות מסוגל לראות את רשימת האזורים הרשומים בתפריט הנפתח. אם תנסה להחליף פריטים, אתה אמור להיות מסוגל לראות שתוכן הטקסט משתנה.