Cocos2d-js jsb native 运行嵌套proto文件读取失败问题解决方案

前端之家收集整理的这篇文章主要介绍了Cocos2d-js jsb native 运行嵌套proto文件读取失败问题解决方案前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
Util.fetch = function(path,callback) {
    if (callback && typeof callback != 'function')
        callback = null;
    if (Util.IS_NODE) {
        var fs = require("fs");
        if (callback) {
            fs.readFile(path,function(err,data) {
                if (err)
                    callback(null);
                else
                    callback(""+data);
            });
        } else
            try {
                return fs.readFileSync(path);
            } catch (e) {
                return null;
            }
    } else {
        if(cc.sys.isNative) {
            //Native版本需要特殊处理下ProtoBuf的读取方式
            var msg = jsb.fileUtils.getStringFromFile(path);
            if(callback){
                callback(msg);
            }else{
                return msg;
            }
        }else{
            var xhr = Util.XHR();
            xhr.open('GET',path,callback ? true : false);
            // xhr.setRequestHeader('User-Agent','XMLHTTP/1.0');
            xhr.setRequestHeader('Accept','text/plain');
            if (typeof xhr.overrideMimeType === 'function') xhr.overrideMimeType('text/plain');
            if (callback) {
                xhr.onreadystatechange = function() {
                    if (xhr.readyState != 4) return;
                    if (/* remote */ xhr.status == 200 || /* local */ (xhr.status == 0 && typeof xhr.responseText === 'string'))
                        callback(xhr.responseText);
                    else
                        callback(null);
                };
                if (xhr.readyState == 4)
                    return;
                xhr.send(null);
            } else {
                xhr.send(null);
                if (/* remote */ xhr.status == 200 || /* local */ (xhr.status == 0 && typeof xhr.responseText === 'string'))
                    return xhr.responseText;
                return null;
            }
        }
    }
};
原文链接:https://www.f2er.com/cocos2dx/339209.html

猜你在找的Cocos2d-x相关文章