Vaihda aluekohtaista aluetta milloin tahansa

Sivu päivitetty :
Sivun luontipäivämäärä :

Varmennusympäristö

Windows
  • Windows 11
Unity-editori
  • 2021.3.12F1
Syöttöjärjestelmä (Unity Technologies)
  • 1.4.3
Lokalisointi (Unity Technologies)
  • 1.3.2

Tämän vinkin edellytykset

Seuraavat asetukset on tehty etukäteen tämän vinkin kuvauksen lähtökohtana.

Edeltävät tiedot ja valmistelu

Tämä vinkki edellyttää seuraavan tekstin lokalisointia: Tutustu ensin seuraaviin vinkkeihin, joiden avulla voit valmistautua näyttämään lokalisoidun tekstin.

Painikkeiden sijoittaminen aluekohtaisen alueen vaihtamista varten

Jos suoritat sen Unity Editorissa, voit muuttaa näytön oikeassa yläkulmassa olevaa aluetta, mutta pelin rakentamisen jälkeen sillä ei ole tätä toimintoa, ja sinun on valmisteltava se itse. Tällä kertaa asetan painikkeen vaihtaaksesi kolmen kielen "japani (ja)", "englanti (en)" ja "espanja (es)" välillä ja vaihdan niitä napsauttamalla.

Painikkeiden komentosarjat

Varmista, että kohdemenetelmää kutsutaan, kun napsautat painiketta. Tämä on yleiskäyttöinen menettely, joten jätän yksityiskohdat pois. Katso yksityiskohtaiset ohjeet seuraavista vinkeistä.

ButtonEvent Luo komentosarja, jonka nimi on .

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()
  {
  }
}

Määritä kukin menetelmä painikkeen napsautukselle.

Aluekohtaisten asetusten muutosten käsittely

Muokkaa koodia seuraavasti:

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");
  }
}

Itse muutos on yksinkertainen LocalizationSettings.SelectedLocale ja sitä voidaan muuttaa yksinkertaisesti asettamalla kohde Locale kiinteistössä. Locale Locale.CreateLocale voidaan luoda asettamalla kielialueen nimi menetelmässä.

Koska aluekohtaisten asetusten muutosprosessi on kuitenkin asynkroninen, seuraava asetettava prosessi ei tarkoita,LocalizationSettings.SelectedLocale että aluekohtainen asetus on jo vaihdettu kokonaan. Ole varovainen, jos teet aluekohtaisia toimintoja.

Suorita ja vahvista

Tässä on kaikki, joten suorita se ja tarkista liike. Pelinäytön oikeassa yläkulmassa näet, että eri resurssit vaihtuvat dynaamisesti samalla tavalla kuin vaihtaessasi aluetta.