<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                本文章由cartzhang編寫,轉載請注明出處。 所有權利保留。 文章鏈接:[http://blog.csdn.net/cartzhang/article/details/50378805](http://blog.csdn.net/cartzhang/article/details/50378805) 作者:cartzhang ### Unity的Json解析<二>–寫Json文件 上篇做了對Json格式文件讀操作, 鏈接地址:[http://blog.csdn.net/cartzhang/article/details/50373558](http://blog.csdn.net/cartzhang/article/details/50373558) 本章對Json的寫文件,做個處理. 寫文件也非常簡單,把大象裝冰箱一樣,分三步, 創建文件, 把內容寫入文件, 然后關閉文件. ### 內容 我們要處理的是所寫的內容,我們打算寫什么都Json文件中呢? 我們打算把昨天的格式繼續利用,還記得GameStatus ,這個是我修改的.不過,還算好用啊. GameStatus.cs文件代碼如下: ~~~ using UnityEngine; using System; using System.Collections; [Serializable] public class GameStatus { public string gameName; public string version; public bool isStereo; public bool isUseHardWare; public refencenes[] statusList; } [Serializable] public class refencenes { public refencenes() { name = ""; id = -1; } public string name; public int id; } ~~~ ### 寫Json格式 寫JSon格式呢,我看網上都用的BinaryFormatter來處理,但是我發現這個跟昨天的問題類型,要是用BinaryFormatter的話,等保存好的Json文本打開后,各種空格,NULL和亂碼.這個主要是編碼格式的問題. 所以,我拒絕使用它了. 我使用**File**,直接WriteALLText來處理. 代碼如下: ~~~ public void SaveJson() { string json = JsonUtility.ToJson(gameStatus); string savePath = Application.dataPath + "/Resources/Test01.json"; File.WriteAllText(savePath, json, Encoding.UTF8); Debug.Log("save:::" + savePath); } ~~~ 這樣就完成了寫文件是否很簡便呢??!!! ### 寫Json的完整代碼 完整代碼如下: ~~~ using UnityEngine; using System.Collections; using System.IO; using System.Runtime.Serialization.Formatters.Binary; using System.Text; public class WriteJson : MonoBehaviour { public GameStatus gameStatus; public GameObject[] objects; void Start() { gameStatus = new GameStatus(); gameStatus.statusList = new refencenes[objects.Length]; gameStatus.gameName = "JSON Write Test"; for (int i = 0; i < objects.Length; i++) { gameStatus.statusList[i] = new refencenes(); gameStatus.statusList[i].id = i; gameStatus.statusList[i].name = objects[i].name; } } public void SaveJson() { string json = JsonUtility.ToJson(gameStatus); string savePath = Application.dataPath + "/Resources/Test01.json"; File.WriteAllText(savePath, json, Encoding.UTF8); Debug.Log("save:::" + savePath); } } ~~~ ### 怎么使用? 我建立了一個測試工程. 只能如圖了: ![Json讀](https://box.kancloud.cn/2016-03-09_56dfda86b9659.jpg "") 你依然可以看到昨天寫文件的痕跡. 當然我們只關注寫Json了. 在writeJson的屬性面板上,可看到,給它的Objects拖拽了一個cube,一個Capsule,作為保存到JSon文件中的內容的一部分. 然后在運行Unity 編輯器時,按下”S”,保存鍵,就會在當前工程下的\Assets\Resources\中,產生了一個Test01.json的文件,這個代碼中可以看到的,你可隨意修改. ### 結果 讓我們來看看我們都保持都Json文件中了什么東西. ~~~ {"gameName":"JSON Write Test","version":"","isStereo":true,"isUseHardWare":false,"statusList":[{"name":"Cube","id":0},{"name":"Capsule","id":1}]} ~~~ 這就是你所保存的Json文件中的內容. 我打算上傳都github,但是現在我github一直讓更新,更新不成功,打不開啊! ### 留下地方吧!! github一大早來更新,終于更新成功。 所以,源碼地址:[https://github.com/cartzhang/UnityJsonTest](https://github.com/cartzhang/UnityJsonTest) 快捷到達源碼:[Unity Json Test for 5.3 ](https://github.com/cartzhang/UnityJsonTest) 至此,Json文件的讀寫都搞定了. ### 更多 關于Json文件的使用,我打算嘗試一個,能不能做個更好的配置,比如控制游戲的場景配置和游戲流程.打包后面不用修改,直接修改json 就可以創建一個完全不一樣的游戲了. 這樣,是不是比較蠢呢!!可能會,比較復雜吧!! 只個想法,若有興趣,看看能不能實現一下. ———THE—–END————————– 若有問題,請隨時聯系!! 非常感謝!!!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看