文章中心 -> 软件使用

文章正文

当然它们之间没有第三者,也没有买卖。。。更没有伤害!那么,它们之间到底有什么秘密呢?绿盟小弟整理相关资料为您解读:「青瓷引擎Excel表格之间不得不说的秘密!」

首先,Excel表格数据对策划是非常友好的,而且是高度可定制化的。因此强烈建议广大开发者能够使用好这个工具,千万千万别把一堆游戏配置相关的数据写到代码中:提供一张excel表吧,让策划搞定。

  • 支持的Excel数据格式



    以'#'开头的为注释行,解析时会忽略掉
    第一个非注释行、非空行为列的名称
    后续为配置内容,支持公式运算
    支持多个sheet
  • 导入Excel文件

    直接将excel表(后缀名为.xlsx)拖入Project的Assets目录就可以了
  • 完整的使用例子

    建立一个excel文件:config.xlsx,里面包含了2个sheet,内容等如下图所示:




    文件放入工程目录:Assets/excel/

    编写代码访问此配置信息。新增脚本:ExcelTest.js:


    var ExcelTest = qc.defineBehaviour('qc.demo.ExcelTest', qc.Behaviour, function() {
    }, {
    // 需要序列化的字段
    });

    // 初始化处理
    ExcelTest.prototype.awake = function() {
    // 加载excel配置表信息
    var self = this;
    self.game.assets.load('config', 'Assets/excel/config.bin', function(data) {
    // data为qc.ExcelAsset类型的数据
    console.log('Download OK.', data);

    // 做一些读取演示的demo
    self.read();
    });
    };

    // 读取演示
    ExcelTest.prototype.read = function() {
    // 获取下载的内容
    var data = this.game.assets.find('config');

    console.log('sheets', data.sheetsName);

    // key为sheets名称,value为数据表(类型qc.ExcelSheet)
    console.log('datas', data.sheets);

    // 读取monsters表
    var monsters = data.findSheet('Monsters');
    console.log('column name', monsters.columns);
    console.log('lines', monsters.rows);

    // 将数据转换为以name为key的数值对
    var o = {};
    monsters.rows.forEach(function(row) {
    o[row.name] = row;
    });
    console.log('formated data', o);
    };

    将此脚本组件挂载到任何Node节点,并运行。查看控制台打印以理解各接口的用法

文章来自绿盟(xDowns.com)转载请注明来路。



上一篇文章:海岛争霸特色玩法女神角色攻略介绍! []