點(diǎn)點(diǎn)滴滴
posts - 311, comments - 0, trackbacks - 0, articles - 0
C++博客
::
首頁(yè)
::
新隨筆
::
聯(lián)系
::
聚合
::
管理
(搬運(yùn)工)NGUI官網(wǎng)示例10 – Localization(本土化)講解-中英文轉(zhuǎn)換,包括NGUI 常用中文字3698
Posted on 2013-10-15 11:55
點(diǎn)點(diǎn)滴滴
閱讀(2349)
評(píng)論(0)
編輯
收藏
引用
所屬分類(lèi):
02 編程語(yǔ)言
隨著游戲國(guó)際化的發(fā)展,很多游戲都會(huì)在多個(gè)國(guó)家發(fā)行,那么其中有一個(gè)很重要的工作就是游戲的本土化,包括里面的文字,畫(huà)面,情節(jié)等等都要符合該國(guó)的語(yǔ)言和文化以及法律等等。那么在NGUI中,我們的本土化最主要的就是語(yǔ)言的顯示。那么,在該教程中,我將根據(jù)NGUI的官網(wǎng)教程,實(shí)現(xiàn)英文和中文的轉(zhuǎn)換(我們要摒棄那個(gè)好像是德文的例子,呵呵,那個(gè)德國(guó)國(guó)旗暫時(shí)不改了,等說(shuō)道制作altas再來(lái)了解)。
首先先制作一個(gè)窗口背景,我這里只用簡(jiǎn)單的窗口來(lái)表示,不關(guān)注美術(shù)方面的問(wèn)題,我表示這個(gè)界面做得有點(diǎn)丑了!在這里有兩點(diǎn)要注意,在創(chuàng)建每一個(gè)組件的時(shí)候,其Font參數(shù)為3699Font字庫(kù)(該字庫(kù)點(diǎn)擊下載
3698font.unitypackage
導(dǎo)進(jìn)Unity中就好了),接著,每一個(gè)Label的z軸都要稍微向前平移一些,不然會(huì)消失。那個(gè)下拉菜單的Option設(shè)置成Language,如圖所示
1. 接著創(chuàng)建兩個(gè)txt文件,命名為English.txt和Chinese.txt。我們將從這兩個(gè)txt文件中獲取文字描述。我建議不要用monodevelop編輯器來(lái)操作,因?yàn)樗С种蟹阶煮w實(shí)在太糟糕,我選用UltraEditor編輯器來(lái)做,有人說(shuō)動(dòng)用visualStudio,這樣有點(diǎn)大材小用了。
English.txt文件內(nèi)容如下:
Flag = Flag-US
Language = English
English = English
chinese = 中文
Info = Localization example
Sound
Music
Desc = English localization
Paragraph = This example shows how to implement localization using NGUI. In order to localize a widget, simply attach [000000]UILocalize[-] script to it. The script will localize the sprite if it's a [000000]UISprite[-], or the text if it's a [000000]UILabel[-]. If you want to localize something else, just implement the [000000]OnLocalize[-] function. Either way, the actual data is defined via text assets specified on the [000000]Localization[-] script which must be present in the scene.
Chinese.txt內(nèi)容如下:
Flag = Flag-FR
Language = 中文
English = English
Chinese = 中文
Info = 本土化示例
Sound = 音效
Music = 音樂(lè)
Desc = 中文本土
Paragraph = 《老人與海》寫(xiě)的是老漁夫桑地亞哥在海上的捕魚(yú)經(jīng)歷,描寫(xiě)老人制服大魚(yú)后,在返航途中又同鯊魚(yú)進(jìn)行驚險(xiǎn)的搏斗,然而作品中的形象卻具有很強(qiáng)的象征意蘊(yùn)。他用大馬哈魚(yú)象征人生的理想和人類(lèi)作為生命本身所不可避免的所具有的欲望,用鯊魚(yú)象征無(wú)法擺脫的悲劇命運(yùn),用大海象征變化無(wú)常的人類(lèi)社會(huì),而獅子則為勇武健壯,仇視邪惡,能創(chuàng)造奇跡的象征,桑地亞哥則是人類(lèi)中的勇于與強(qiáng)大勢(shì)力搏斗的“硬漢子”代表,他那捕魚(yú)的不幸遭遇象征人類(lèi)總是與厄運(yùn)不斷抗?fàn)巺s無(wú)論如何都無(wú)法試圖去改變命運(yùn)。
這兩個(gè)txt文件先留著。創(chuàng)建一個(gè)空游戲?qū)ο螅麨長(zhǎng)ocalization,并為其添加一個(gè)Localization組件(Component->NGUI->Internal->Localization)。打開(kāi)該組件,把Starting Language設(shè)置成English,Languages中的size設(shè)置成2,把english.txt賦值給Element0,把chinese.txt賦值給Element1。如圖所示
為每個(gè)Label(除了PopupList中的Label)添加一個(gè)Localize組件(Component->NGUI->UI-> Localize),打開(kāi)該組件,可以看到該組件下面有一個(gè)參數(shù)為Key,這個(gè)參數(shù)就是用來(lái)設(shè)置關(guān)鍵字的,也就是在txt中“=”號(hào)前面的名稱(chēng)。我們把這些label一一中的Key設(shè)置成我們需要的關(guān)鍵字(Voice和Music的Label只要添加這個(gè)組件,不用為它的Key賦值),例如如圖所示
選擇PopList,為其添加一個(gè)LanguageSelection組件(Component->NGUI->Interaction-> Select Language)。現(xiàn)在點(diǎn)擊播放試試,可以看到,已經(jīng)可以在兩個(gè)字體之間轉(zhuǎn)換了
現(xiàn)在只剩下國(guó)旗沒(méi)換了,選擇國(guó)旗的Sprite,也為其添加一個(gè)Localize組件,設(shè)置其key為Flag。這些key都和txt文件中的key一一對(duì)應(yīng)的。點(diǎn)擊播放,ok,成功。
現(xiàn)在剩下最后一個(gè)問(wèn)題,當(dāng)你選擇那個(gè)下拉菜單時(shí),文字會(huì)消失掉,通過(guò)觀察發(fā)現(xiàn),下拉菜單在點(diǎn)擊之后會(huì)新建一個(gè)名為Drop-down List的新游戲?qū)ο螅鐖D所示
選擇里面的label,會(huì)發(fā)現(xiàn),那些label的z軸都在0的數(shù)值上,我們前面已經(jīng)提到,如果要顯示中文字體,需要把這些label的位置往外拉出一些,在該例子中將成為負(fù)值。我本來(lái)想修改下它的源代碼,后來(lái)發(fā)現(xiàn),只要把窗口的背景往后挪一些就ok了,好,那么我們把這個(gè)窗口的背景往后挪1個(gè)單位,如圖所示
Ok,問(wèn)題解決!
還有,我看下拉菜單里面那個(gè)chinese太礙眼了,如果那些對(duì)英文一竅不通的人,都不知道chinese到底是什么東西,所以,我索性把chinese.txt文件名改成”中文.txt”(沒(méi)雙引號(hào)的,不要忘了把改完名的txt文件重新復(fù)制給Localization中的element1)。哈哈,居然這樣也可以,最后效果如下
Powered by:
C++博客
Copyright © 點(diǎn)點(diǎn)滴滴
日歷
<
2013年10月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
公告
留言簿
(9)
給我留言
查看公開(kāi)留言
查看私人留言
隨筆分類(lèi)
(268)
01 數(shù)學(xué)基礎(chǔ)(5)
02 編程語(yǔ)言(175)
03 編程工具(6)
04 硬件基礎(chǔ)(2)
05 圖像基礎(chǔ)(3)
06 多媒體
07 壓縮加密
08 游戲SDK(10)
09 游戲策劃(3)
10 服務(wù)器(42)
11 生活隨想(12)
12工具收集(1)
19 源碼收集(9)
隨筆檔案
(311)
2017年5月 (1)
2016年12月 (2)
2016年11月 (7)
2014年10月 (4)
2014年9月 (2)
2014年7月 (1)
2014年2月 (1)
2013年11月 (4)
2013年10月 (42)
2013年8月 (1)
2013年7月 (1)
2013年6月 (3)
2013年5月 (3)
2013年4月 (2)
2013年3月 (4)
2013年2月 (3)
2013年1月 (2)
2012年11月 (3)
2012年10月 (3)
2012年9月 (12)
2012年8月 (8)
2012年7月 (47)
2012年6月 (3)
2012年5月 (4)
2012年3月 (4)
2012年2月 (5)
2012年1月 (2)
2011年12月 (5)
2011年11月 (4)
2011年10月 (3)
2011年9月 (5)
2011年8月 (2)
2011年7月 (2)
2011年6月 (7)
2011年5月 (13)
2011年4月 (9)
2011年3月 (17)
2011年2月 (9)
2011年1月 (25)
2010年12月 (10)
2010年11月 (24)
2010年10月 (2)
相冊(cè)
blog
游戲
搜索
積分與排名
積分 - 469725
排名 - 45
最新評(píng)論
99久久精品影院老鸭窝
|
久久久久无码中
|
波多野结衣AV无码久久一区
|
精品国际久久久久999波多野
|
jizzjizz国产精品久久
|
激情五月综合综合久久69
|
2021国产精品久久精品
|
国产精品久久永久免费
|
久久青青草原精品国产不卡
|
日韩乱码人妻无码中文字幕久久
|
久久乐国产综合亚洲精品
|
性色欲网站人妻丰满中文久久不卡
|
国产免费久久精品99久久
|
久久精品国产精品亚洲精品
|
欧美精品一本久久男人的天堂
|
欧美激情一区二区久久久
|
久久精品视频免费
|
久久国产精品一国产精品金尊
|
成人亚洲欧美久久久久
|
婷婷久久香蕉五月综合加勒比
|
欧美午夜A∨大片久久
|
国产精品免费久久
|
久久精品九九亚洲精品
|
一级A毛片免费观看久久精品
|
91精品国产高清久久久久久91
|
亚洲国产另类久久久精品
|
一97日本道伊人久久综合影院
|
国产 亚洲 欧美 另类 久久
|
99精品国产在热久久无毒不卡
|
蜜臀av性久久久久蜜臀aⅴ
|
国产精品99久久久精品无码
|
久久免费观看视频
|
久久精品这里只有精99品
|
国产精品99久久久久久www
|
丁香狠狠色婷婷久久综合
|
97久久精品人妻人人搡人人玩
|
亚洲va久久久噜噜噜久久狠狠
|
久久久精品国产
|
亚洲色婷婷综合久久
|
欧美亚洲色综久久精品国产
|
久久久久亚洲AV无码网站
|