cocos js是一款非常流行的HTML5游戲引擎,支持多種平臺(tái)、多種語(yǔ)言,其中包括javascript。在cocos js中,讀取json文件是一項(xiàng)非常常見的任務(wù)。
要讀取json文件,在javascript中需要使用ajax請(qǐng)求。這可以通過(guò)以下代碼實(shí)現(xiàn):
cc.loader.loadJson("res/data/data.json", function (err, res) { if (!err && res) { //在這里進(jìn)行json數(shù)據(jù)的處理 } else { console.log("讀取json數(shù)據(jù)失敗"); } });
其中,第一個(gè)參數(shù)是json文件的路徑,第二個(gè)參數(shù)是回調(diào)函數(shù)。在回調(diào)函數(shù)中,如果沒有錯(cuò)誤,就可以訪問讀取到的json數(shù)據(jù)。
下面是一個(gè)使用cocos js讀取json數(shù)據(jù)的完整示例:
var jsonData = null; var HelloWorldLayer = cc.Layer.extend({ ctor:function () { this._super(); var that = this; cc.loader.loadJson("res/data/data.json", function (err, res) { if (!err && res) { jsonData = res; that.showData(); } else { console.log("讀取json數(shù)據(jù)失敗"); } }); return true; }, showData:function () { var label = cc.LabelTTF.create("json數(shù)據(jù): " + jsonData.key, "Arial", 38); this.addChild(label); label.setPosition(cc.p(cc.winSize.width / 2, cc.winSize.height / 2)); } }); var HelloWorldScene = cc.Scene.extend({ onEnter:function () { this._super(); var layer = new HelloWorldLayer(); this.addChild(layer); } }); cc.game.run("gameCanvas");
在這個(gè)示例中,我們?cè)贖elloWorldLayer的構(gòu)造函數(shù)中引入了讀取json數(shù)據(jù)的代碼。在回調(diào)函數(shù)中,我們把讀取到的數(shù)據(jù)存放在全局變量jsonData中。最后,我們通過(guò)showData函數(shù)展示了這個(gè)數(shù)據(jù)。在這個(gè)示例中,json文件中只有一個(gè)key值。
總的來(lái)說(shuō),cocos js讀取json數(shù)據(jù)是非常簡(jiǎn)單的。只需要寫好ajax請(qǐng)求的代碼,然后在回調(diào)函數(shù)中對(duì)讀取到的數(shù)據(jù)進(jìn)行處理即可。