Egret是一款非常流行的HTML5游戲開發引擎,可以方便快捷地開發跨平臺的游戲應用。在游戲開發中,經常需要加載JSON文件夾中的各種數據資源。下面來介紹一下如何使用Egret加載JSON文件夾。
// 定義json數據 let dataObj = {}; // 加載json資源 function loadJSON(url, callback) { let request = new XMLHttpRequest(); request.overrideMimeType("application/json"); request.open("GET", url, true); request.onreadystatechange = () =>{ if (request.readyState == 4 && request.status == "200") { callback(JSON.parse(request.responseText)); } }; request.send(null); } // 加載json文件夾 function loadJSONFolder(folderUrl, completeHandler) { let fileUrls = [ "data1.json", "data2.json", "data3.json" ]; let loadedCount = 0; for (let i = 0; i< fileUrls.length; i++) { let fileUrl = folderUrl + fileUrls[i]; loadJSON(fileUrl, (data) =>{ dataObj[fileUrls[i]] = data; loadedCount++; if (loadedCount == fileUrls.length) { completeHandler(); } }); } } // 開始加載json文件夾 loadJSONFolder("res/data/", () =>{ console.log(dataObj); });
以上代碼首先定義了一個空的數據對象dataObj,然后使用XMLHttpRequest對象加載json文件,當加載成功后,使用JSON.parse方法解析json數據,將數據存儲到dataObj中。接著使用loadJSONFolder函數加載json文件夾,通過循環遍歷每個文件的url,依次傳入loadJSON函數中,加載成功后將數據添加到dataObj中,最終通過completeHandler函數將加載完畢后的數據對象返回。
通過以上代碼可以看出,使用Egret加載JSON文件夾是十分簡單的,只需要定義一個空的數據對象,然后依次加載每個文件并將數據存儲到對象中即可。使用這種方式可以方便快捷地讀取json文件夾中的各種數據資源,便于游戲開發。