位置: 编程技术 - 正文

cocos2dx3.2开发 RPG《Flighting》(三)从Excel表中加载需要的数据(cocos2dx游戏开发)

编辑:rootadmin

推荐整理分享cocos2dx3.2开发 RPG《Flighting》(三)从Excel表中加载需要的数据(cocos2dx游戏开发),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:cocos2d开发app,cocos游戏开发教程,cocos开发游戏,cocos游戏开发教程,cocos开发游戏,cocos2dx游戏开发,cocos2d-js游戏开发,cocos2dx游戏开发,内容如对您有帮助,希望把文章链接给更多的朋友!

一、前言

在一个游戏里面,需要用到的数据一般都是由游戏策划提供的(这里的策划还是由我自己担任啦哈哈)。什么是需要用到的数据?例如我创建一个角色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“:

在字符串的下一行加入:

}

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

cocos2dx3.2开发 RPG《Flighting》(三)从Excel表中加载需要的数据(cocos2dx游戏开发)

修改后:

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

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

HeroMessage.h

第三步:信息转换工具HeroMessageUtil

HeroMessageUtil就是负责将Json文件读取并加载相应的信息。再用HeroMessage保存

可以看出,除了单例方法,构造函数和析构函数外,有三个函数和一个成员变量需要注意

1. map<int,HeroMessage> heroMsgMap; 这是一个map,键是英雄的唯一id,&#;是对应的信息对象

2. HeroMessage getMessageById(int id); 通过一个英雄的id,获取其全部信息map<int,HeroMessage> getHeroMessageMap();获取英雄信息map

3. void initHeroMsgMap();初始化英雄信息类,在构造函数中会调用

因此,我们重点关注void initHeroMsgMap()

这里我们用到的是rapidJson这个api,cocos2dx的附加库里面已经有的。所以我们只需要引入以下两个头文件就好

读取"Json/HeroMessage.json"这个文件,并将这个文件转成一串string

_mDoc是一个Document对象,可以先暂时理解为一个容器

将从json文件读取的那串字符串转成一个Document对象

读取_mDoc对应的那个json对象中,键为”json“的那个&#;,保存的pArr对象中(还记得刚刚对json文件的修改吗,现在得到的pArr对象其实才是真正包含重要数据的)

接下来的for循环就是用来遍历一行一行数据的。(pArr.Capacity可以获取pArr对象中又包含了多少个对象)

最后构造好HeroMessage对象之后,记得把它放到map里面

这样我们将excel表里面一行行的数据放到了一个map里面了。

最后贴上HeroMessageUtil两个常用的方法:

本节结束。

我的csdn地址:

cocos2dx3.2开发 RPG《Flighting》(四)预先加载与选人界面 一、前言假设你已经看懂了前面三节,那么接下来我们就开始进入真正的开发啦~~二、正文1、预先加载首先我们先谈谈预先加载,什么叫预先加载,就

cocos2dx3.2开发 RPG《Flighting》(五)只能行走的战斗场景 一、前言前面几节好像与我们一开始说的游戏不太相关,现在我们正式进入战斗场景的开发。不过凡事不要心急,要循序渐进,我们先搭建一个能够让

【cocos2d-x】 EventListenerTouchAllAtOnce在IOS不可用的问题 第一次使用多点触摸,在ios真机上出现问题,而在android上跑却没问题,找了很久,问了很多人(竟然很多人不知道)...原因是在iOS中,苹果默认屏蔽掉

标签: cocos2dx游戏开发

本文链接地址:https://www.jiuchutong.com/biancheng/372654.html 转载请保留说明!

上一篇:Cocos2dx ParticleEditor粒子编辑器

下一篇:cocos2dx3.2开发 RPG《Flighting》(四)预先加载与选人界面(cocos2d开发的知名游戏)

  • 2023年印花税税率口诀
  • 建筑业小规模纳税人 扣除分包款 开票
  • 银行开具的票据怎么查询
  • 所得税申报表的营业收入包括营业外收入吗
  • 企业所得税季度申报时间
  • 6个点的税率怎么算的
  • 暂估库存商品比发票少1分怎么记账
  • 工会经费返还怎么使用
  • 亏损企业能不能无常捐赠
  • 机动车销售发票可以跨年抵扣吗
  • 包装物押金是含税价格吗
  • 垫付被骗客服承诺退款
  • 车险代缴费
  • 买的厨房用品算什么费用
  • 企业取暖费怎么做会计分录
  • 施工企业项目管理办法
  • 有留抵税额会计分录
  • 未开票收入怎么做账
  • 研发费用如何界定
  • 无法支付的其他账户
  • 备件和耗材的定义
  • 收到总公司拨款发奖金如何入账
  • 股票投资报酬率怎么算excel
  • 苹果手机录音配音乐怎么配
  • 本期已缴税额不能大于本期应纳税额
  • 如何做预估成本
  • 金蝶固定资产减少怎么做
  • mac设置定时任务
  • win7系统鼠标键盘
  • win7怎么获取管理员
  • linux device drivers
  • PHP:pg_copy_to()的用法_PostgreSQL函数
  • 年应税销售额包含哪些
  • 行政事业单位 银行
  • cjzc框架
  • YOLOv8(n/s/m/l/x)&YOLOv7(yolov7-tiny/yolov7/yolov7x)&YOLOv5(n/s/m/l/x)不同模型参数/性能对比(含训练及推理速度)
  • Python web开发基础教程的心得
  • 理解DALL·E 2, Stable Diffusion和 Midjourney工作原理
  • 子公司认定消费税需要披露信息
  • 税务异常怎么处理要多长时间
  • 企业的资产评估报告在哪里获取
  • 分批发货分批付款
  • 企业所得税的纳税调整项和比例
  • 劳务报酬包括哪些
  • 营业收入在财务报表上用什么字母表示
  • 同时安装vs2005团队开发版和sql 2005企业版的方法(downmoon原作)
  • sql server搜索语句
  • 年终奖可以不计入社保基数吗
  • 个人所得税年度累计扣税规则
  • 视同销售是怎么回事?
  • 工会经费多久缴纳一次
  • 代理运费增值税税率
  • 有留抵税额的会计处理
  • 企业预缴增值税税率
  • 盘亏存货可以转回来吗
  • 多开税票的钱怎么算
  • 公司买空调算什么费用
  • 冲减和冲销的会计分录
  • 员工预支工资可以从工资里扣吗
  • 营业收入和主营业务收入分别在哪看
  • mssql CASE,GROUP BY用法
  • win10下mysql 5.7.17 zip压缩包版安装教程
  • nvidia专业卡性能对比
  • ubuntu系统如何安装qq
  • win10系统如何快速打开控制面板
  • 出现闪退该怎么办
  • linux中添加用户和组的操作
  • win7禁用驱动签名后可以正常启动吗
  • win8系统怎么样
  • linux修改服务器ip地址
  • 怎么在mac上查找iphone
  • 飞车超人助手官网
  • exit(1)和return的区别
  • shell脚本编写
  • 解读高考作文
  • 小型微利企业所得税优惠
  • 怎样在电子税务局查询财务报表
  • 深圳税务网上申报客户端更正申报流程
  • 甘肃国家税务总局
  • 河北地税网上申报纳税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设