riru/宝石小箱 2022/02/26 09:55

【Unity】LocalizationでAsset Tableのキーを動的に変える

Unityの公式の機能、Localization。ローカライズが簡単にできます。
私は存在を知るまで自作でローカライズを実装していたんですが、若干めんどくさいところがあるのと、公式はエディタ上で簡単に切り替えできるという点でLocalizationに替えました。

まぁ詳しいところは↓の記事などが詳しく解説していただいているのでそれを見ていただくとして、
Unity公式のローカライズ(多言語対応)機能 Localization【Unity】
問題は
スクリプト上で画像を切り替えるとき、ローカライズのセットごと切り替える方法が見つからない!
ということでした。

ヴェルタでいうと、エリア名の画像をエリアが変わったら変えたいのに、画像を差し替えるだけじゃローカライズが反映されないということです。
文字だと割と見つかるんですけどね、画像だとなーんにも見つからない。
でもこちらの記事と公式のスクリプトリファレンスを参考にして試行錯誤したらなんとかなったので一応ここに記しておきます。
でも素人がやったやつなので、使用する場合は自己責任で

1.まず、上のusingがあるところに using UnityEngine.Localization.Components; を入れます。
2.SerializeFieldでLocalizeSpriteEvent _localizedSpriteEvent とやるなりしてLocalizeSpriteEventの変数を作っておきます。
3.切り替えをしたいところで_localizedSpriteEvent.AssetReference.TableEntryReference = "差し替えたい画像のキー名";と入れます。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

記事のタグから探す

月別アーカイブ

限定特典から探す

記事を検索