PlayerPrefs.SetString是Unity內存取字串的語法,但是過幾次後發現有些中文字因為編碼的問題在GetString會抓到空白字串,如果中文字串是製作方能自己設定就繞個彎避開就好,但可以讓玩家設定的情況就需要找個方法解決了。
自己查了一下,常見的建議方法多半是將中文字轉成編碼,將編碼存下來,讀取的時候再轉換回來。
所以重點在中文字的編碼轉換,於是找到了這一篇:
http://game.ceeger.com/forum/read.php?tid=5897&fid=2&page=1
文中6樓的將中文字轉換成網址編碼來存取,也就是:
PlayerPrefs.SetString ("playerName", WWW.EscapeURL(inputName));//存檔
playerName = WWW.UnEscapeURL(PlayerPrefs.GetString ("playerName"));//讀檔
不過問題點也是文中其他樓提到的字串長度翻倍。
既然如此就來試試看:
輸入字串後按下確定後存字串,重新執行讀取字串後顯示在畫面上,另外輸出編碼在Console中。
兩個字:
六個字:
九個字+兩個標點符號:
十五個字+兩個標點符號。
大致上就是這樣,測試的方向有一點隨便,也沒有什麼結論,就是個在自己的case中是個堪用的方法,既然查到就分享出來,總之這次就到這裡。
背景圖:
ヴィントドルフ:http://winddorf.oops.jp/1top.htm
沒有留言:
張貼留言