cocos creator 中读取Excel表格中的数据

一、使用相应工具将Excel文件转化成JSON文件导入到cocos creator资源文件

二、在VS中对Excel文本中的数据进行转换

cocos creator 中读取Excel表格中的数据_第1张图片

Excel文本中各项数据的名称对应代码中的data.()

export default class TaskData{
    taskID : number 
    type : string
    level : number
    count : number

    constructor(data){
        this.taskID = Number (data.id)
        this.type = String (data.type)
        this.level = Number (data.level)
        this.count = Number (data.count)
    }
}

三、关于接口文件脚本

interface IDictionary{
    add(key : string , value : any ) : void 
    remove(key : string) : void
    containsKey(key : string ) : boolean
    keys() : string[]
    values() : any[]
}

export default class Dictionary{
    _keys : string[] = []
    _value : any[] = []
    _count : number = 0

    constructor(init : {key : string; value : any;}[]){
        for(let x = 0;x

四、数据的解析

import Dictionary from "./day";

export default class DataManager extends cc.Component{
    private taskConfigData : Dictionary = null

    onLoad()
    {
        this.taskConfigData = new Dictionary(new Array(0))
    }
    /**
     * 数据的解析
     */
    public parseData(data):void{
        let dataArray : [] = data.json
        dataArray.forEach((value,idx,array)=>{
            let taskData : [] = value["task"]  //task表示Excel解析数据表格名称
            if(taskData != null)
            {
                this.parseTaskConfigData(taskData)
            }
        })
    }

    private parseTaskConfigData(taskConfigData : []) : void{
        if(taskConfigData != null)
        {
            taskConfigData.forEach((data,idx,array)=>{
                let taskConfigData : TaskData = new taskConfigData(data)
                taskConfigData.add(taskConfigData.type + "-",taskConfigData.taskID,taskConfigData.level)
            })
        }
    }
    public getTaskData(taskId : number,level : number) : TaskData{
        let taskData = this.taskConfigData.getValue(taskId + " -" + level)
        if(!taskData)
        {
            console.error("没有找到" + taskId + "ID和" + level + "数据")
        }
        return taskData
    }
}

 

你可能感兴趣的:(Cocos,Creator)