• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            posts - 311, comments - 0, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
            隨著游戲國(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)。哈哈,居然這樣也可以,最后效果如下
            99久久精品影院老鸭窝| 久久久久无码中| 波多野结衣AV无码久久一区| 精品国际久久久久999波多野| jizzjizz国产精品久久| 激情五月综合综合久久69| 2021国产精品久久精品| 国产精品久久永久免费| 久久青青草原精品国产不卡| 日韩乱码人妻无码中文字幕久久 | 久久乐国产综合亚洲精品| 性色欲网站人妻丰满中文久久不卡| 国产免费久久精品99久久| 久久精品国产精品亚洲精品| 欧美精品一本久久男人的天堂| 欧美激情一区二区久久久| 久久精品视频免费| 久久国产精品一国产精品金尊| 成人亚洲欧美久久久久| 婷婷久久香蕉五月综合加勒比| 欧美午夜A∨大片久久 | 国产精品免费久久| 久久精品九九亚洲精品| 一级A毛片免费观看久久精品| 91精品国产高清久久久久久91| 亚洲国产另类久久久精品| 一97日本道伊人久久综合影院| 国产 亚洲 欧美 另类 久久| 99精品国产在热久久无毒不卡| 蜜臀av性久久久久蜜臀aⅴ| 国产精品99久久久精品无码| 久久免费观看视频| 久久精品这里只有精99品| 国产精品99久久久久久www| 丁香狠狠色婷婷久久综合| 97久久精品人妻人人搡人人玩| 亚洲va久久久噜噜噜久久狠狠| 久久久精品国产| 亚洲色婷婷综合久久| 欧美亚洲色综久久精品国产| 久久久久亚洲AV无码网站|