cocos2dx3.2开发 RPG《Flighting》(三)从Excel表中加载需要的数据,cocos2dx3.0label

  次阅读 作者:智能小宝 来源:互联网 2015-09-28 14:02 我要评论(0)

cocos2dx3.2开发 RPG《Flighting》(三)从Excel表中加载需要的数据,cocos2dx3.0label

一、前言

在一个游戏里面,需要用到的数据一般都是由游戏策划提供的(这里的策划还是由我自己担任啦哈哈)。什么是需要用到的数据?例如我创建一个角色A,A有他自己的攻击力,防御力,速度等,再创建一个角色B,B也有自己的攻击力,防御力,速度等。每个角色都有一些基础属性,但是对应不同的角色,属性的值有可能不同。我们不可能在代码里面把这些数据写死。最好的办法是从一个文件(通常是Excel表格)中读入数据,这样就方便管理和修改。

二、正文

1.Excel

《Flighting》游戏里面用到了4个Excel表格(在Resource的excel文件夹可以找到)。

HeroMessage:对应不同英雄的各个属性

MonsterMessage:对应不同怪物的各个属性

SkillMessage:对应不同技能的各个属性

StageMessage:对应不同关卡的各个属性

其中一个Excel表基本格式如下图:

格式很简单,基本上一看就知道怎么回事了。

2.下面我们以HeroMessage为例子进行接下来的操作。

我们已经做好我们需要的Excel表格,现在我们的目标是将表格的一条条的信息用一个个对象(bean)保存起来。

这里我也是同样采用了cocostuio提供的数据编辑器。大致的思路是这样的:先用cocostudio的数据编辑器将excel表转成一串JSON字符串。

再在代码里面读取并解析这串字符串,将数据信息用一个对象保存,方便管理。

第一步:数据编辑器的使用

打开cocostudio1.6 -》选择数据管理器-》文件-》导入模板表-》Excel

导入完之后

文件-》导出JSON文件-》确定

成功的话,会得到一个json文件,可以用记事本打开看看。

接下来我们作如下修改,字符串的上一行加入:

{”json“:

在字符串的下一行加入:

}

不清楚的话可以看图:修改前:

修改后:

懂json的人可能知道这是为什么,不懂也没关系,先照着做就好。

第二步:在代码中构造相应的信息保存类(bean)

HeroMessage.h

#ifndef _HEROMESSAGE_H_

#define _HEROMESSAGE_H_

#include <string>

using namespace std;

class HeroMessage{

public:

int id;//唯一id

string name;//角色名

string r_name;//骨骼动画资源名

string r_png;//骨骼动画png

string r_plist;//骨骼动画plist

string r_ExportJson;//骨骼动画ExportJson

int offset_x;//x的偏移量

int offset_y;//y的偏移量

int atk_dis;//攻击距离

int hp;//生命值

int atk;//攻击力

int def;//防御力

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...