6月 14 2015
Unity教程之-UGUI多语言实现
想必一款流行的游戏,都会包含好几种语言,那么怎么在unity3d中用UGUI实现多语言呢,下面我们来看下,从Foundation插件中抽离出的多语言。原理很简单,给Text绑定key,在程序开始时设置本地语言即可。
目录结构:
LanguageEditor.cs:自定义编辑器;
LanguageService.cs:负责读取语言文件供程序使用;
LanguageText.cs:绑定到Text组件中;
Resources文件夹:存放资源文件及配置文件;
Localization文件夹:语言包,所有的语言放在该目录下,每种语言一个文件夹;根据语言设置读取相应目录下的语言文件;
LocalizationConfig:多语言配置文件,包含所有的语言名字。
SimpleJSON.cs:多语言的本地文件是json格式,解析json用;
由于项目中无动态设置语言需求,也就没做在程序运行时更改语言功能。在程序启动后先设置语言,绑定了LanguageText.cs的Text自动会根据设置的key显示对应的语言字符。
使用demo:
using UnityEngine; using UnityEngine.UI; using System.Collections; using Language; public class Test : MonoBehaviour { // Use this for initialization void Awake () { LanguageService.Instance.Language = new LanguageInfo ("English"); } void Start() { GameObject textPrefab = (GameObject)Resources.Load ("Text"); GameObject textObj = (GameObject)Instantiate (textPrefab); textObj.transform.SetParent (this.transform); textObj.transform.localPosition = Vector3.zero; } }
下面是demo下载地址:
LanguageDemo.txt (下载1026 )好了,本篇文章关于UGUI多语言的实现讲解到此结束下篇我们再会!
9月 22, 2015 @ 05:29:44
I really like and appreciate your blog.Really thank you! Really Great.