唤境保存数据的方式有很多,我将逐个讲解主要的几种方式,并分析其优缺点。
1.全局变量:
优点:顾名思义任何场景都能调用,最简单也是最直观的变量类型。预览的时候可以直接在右下角看见并更改值。
缺点:不能使用键名查询(也就必须手选调用),无法批量使用,必须提前创建。
推荐:适用数据少的小游戏,或者用来做布尔判断,很适合debug用。
2.局部变量:
优点:绿色环保,几乎是必用,设置为静态后,事件结束不会销毁,可持续保存值。
缺点:不可跨事件调用。(这也不能算缺点吧)
推荐:没啥好推荐的,多一些局部少一些全局,这样你的代码移植性就很强了。
3.辞典:
优点:全局变量的加强型,由键名和值构成,使用键名调用,可在游戏中临时创建,可批量创建和调用数据。
缺点:几乎是完美的数据保存方式,但还不是最强。
推荐:数据量较多的游戏。
4.xml配置文件:
优点:xml配置文件的优点就是为了做初始数据的配置,几乎所有游戏都可以使用配置文件,比如卡牌属性,装备属性,怪物属性,怪物掉落,装备爆率等等,而且调用起来十分方便,按树状结构可以清晰的获取到你需要的值。
缺点:不能在唤境中编辑,只能提前导入配置文件,需要了解书写和使用的语法,不能在游戏中改变配置文件的值。
推荐:配置数据较多的游戏。
5.实例变量
优点:十分方便的变量,即可以保存变量,大部分情况又可以当做实例的配置文件。
缺点:不可临时创建,不可按键名调用,随实例出现而出现,实例销毁而销毁,所以在实例创建以前是无法调用的。
推荐:小游戏可以适量代替xml和辞典的作用。
猫人队长
@猫人队长
猫人队长 发布的最佳帖子
-
简述唤境的数据管理
-
JSON反转CSV
目前唤境的辞典和数组都可以直接JSON,而且支持CSV表格导入,这非常有利于数据的保存与调入
但出于奇怪的目的,今天来教大家用唤境的JSON反转CSV的办法
首先我们要把需要翻转的辞典或者数组在唤境中JSON化,创建一个文字全局变量用来记录JSON化的数组或者辞典
然后运行程序,在预览界面中找到变量结果
将其复制下来
{"xfarray":true,"size":[5,5,1],"data":[[[1],[2],[3],[4],[5]],[[2],[1],[2],[3],[4]],[[3],[2],[1],[2],[3]],[[4],[3],[2],[1],[2]],[[5],[4],[3],[2],[1]]]}
去掉前后大括号内容{"xfarray":true,"size":[5,5,1],"data":}
保留剩余中括号内容[[[1],[2],[3],[4],[5]],[[2],[1],[2],[3],[4]],[[3],[2],[1],[2],[3]],[[4],[3],[2],[1],[2]],[[5],[4],[3],[2],[1]]]
打开网址JSON 数组 转换为 CSV - 在线表格转换工具 (tableconvert.com)
将中括号内容复制到粘贴板内,下方将显示转换内容,如数组行列相反,可以使用网页上的置换工具
最后下载即可 -
xml简述(游戏的数据调用)
受人之托,今天来讲讲xml的应用,由于上班没有电脑,暂时无法发图,所以先大概讲讲,如果有需要以后在补上一些教程。
xml配置文件是用来解决基础数据调用的,你也可以当做一个数据库来用。因为xml是树状结构的,所以可以十分方便的通过路径分支查找到我们需要的数据,而且后期维护十分方便。
我先举个例子吧,RPG里面打怪掉落什么物品,在xml里面就能很好的解决这个问题。首先我们先建立一个简单的xml结构:
1.先建立一个怪物根目录
<怪物>
</怪物>
2.然后建立一个怪物的分支
<怪物>
<史莱姆>
</史莱姆>
</怪物>
3.接着建立怪物的掉落物品
<怪物>
<史莱姆>
<掉落物品>金币</掉落物品>
<掉落数量>100</掉落数量>
</史莱姆>
</怪物>
4.假如我们在游戏里面如果杀死了一只怪物,我们用一个变量保存这个怪物的名称,接着使用xml.strvalue("怪物/"&变量&"/掉落物品")就可以获取这个字符型数据:金币,然后使用xml.numvalue("怪物/"&变量&"/掉落数量")就可以获取这个数值型数据:100,是不是特别简单,只需要获取名称,就能通过树状结构随意调取数据,这个就是xml的优势。
手机打字不容易,下次在讲了。
猫人队长 发布的最新帖子
-
RE: 一个非常迫切的建议。。。。
预制体的建议已经提出好久了,按目前唤境的结构,基本实现不了,除非底层大改
唤境中根本没有节点的概念,将数组和辞典对象化后,直接废掉了容器的可行性
目前想实现容器功能,只能靠自己用事件生成,一套动作组把所有的UI和数据临时生成
但目前能Json的只有数组和对象,其他的你自己看看需要多少个数组来保存 -
RE: 事件这部分有些麻烦呢
并行为同级,大家都要执行,只是越靠上,越优先,上面的事件不管是否执行,不会影响同级的继续执行(否则事件例外)
树状为父子,先执行父级,再执行子级,如果父级条件未通过,子级也不会执行
事件都是相互套嵌的,父子里面可有同级,同级里面也可有父子 -
JSON反转CSV
目前唤境的辞典和数组都可以直接JSON,而且支持CSV表格导入,这非常有利于数据的保存与调入
但出于奇怪的目的,今天来教大家用唤境的JSON反转CSV的办法
首先我们要把需要翻转的辞典或者数组在唤境中JSON化,创建一个文字全局变量用来记录JSON化的数组或者辞典
然后运行程序,在预览界面中找到变量结果
将其复制下来
{"xfarray":true,"size":[5,5,1],"data":[[[1],[2],[3],[4],[5]],[[2],[1],[2],[3],[4]],[[3],[2],[1],[2],[3]],[[4],[3],[2],[1],[2]],[[5],[4],[3],[2],[1]]]}
去掉前后大括号内容{"xfarray":true,"size":[5,5,1],"data":}
保留剩余中括号内容[[[1],[2],[3],[4],[5]],[[2],[1],[2],[3],[4]],[[3],[2],[1],[2],[3]],[[4],[3],[2],[1],[2]],[[5],[4],[3],[2],[1]]]
打开网址JSON 数组 转换为 CSV - 在线表格转换工具 (tableconvert.com)
将中括号内容复制到粘贴板内,下方将显示转换内容,如数组行列相反,可以使用网页上的置换工具
最后下载即可