数据管理

要想做好一个游戏,数据是非常关键的,无论是保存分数,保存游戏状态,临时处理数据,计算数据等,都是提升游戏逻辑能力提升游戏复杂度的关键。

数据面板总共有4种类型,变量/列表/表格/通知,其中 [变量/列表/表格] 是一类,都分别有全局的和私有的两种类型,对应积木列表中的积木标签,而通知相关的积木则在控制和事件标签中。

[变量/列表/表格] 都有格子对应的取值积木,分别对应 [红色/橙色/黄色]

新建时需要选择是私有变量还是全局变量,

全部变量在整个游戏中是唯一的,一旦改变,任何读取全局变量的积木都会拿到最新的值。例如:玩家得分

局部变量局部变量是属于某个精灵个体的,并且精灵的克隆体也拥有其自己的局部变量。例如:打飞机游戏中的敌机生命值,每个敌机个体拥有其自己的生命值,当被子弹打中时,只有当前个体的生命值会减少。

局部变量是私有的,意味着只能是当前精灵读写,其他都无法读写,是相对封闭的数据状态。如果要给精灵添加公开的数据怎么办呢?可以通过读写精灵的属性来实现:

通过这两个积木就能对精灵本身读写数据了,同时其他精灵也可以读取到精灵的状态。

数据管理的4个栏目的增删入口都相同,都是在顶部有添加按钮,选中后出现删除按钮

变量

最基础最常用的数据积木,对应一个红色的数据积木,和两个相关的操作积木,具体的积木含义查看积木

在大部分情况下我们都推荐使用全局变量,只有在当前精灵对象存在克隆体时,为了让每个克隆体单独拥有一份变量才需要设置,比如每个怪物克隆体的生命值/速度/攻击力等

列表

在数据面板的第二栏是列表,对应橙色的数据积木,列表对应的代码中的数组对象,并提供了一系列操作列表的积木方法,具体的积木含义查看积木

并且他们的操作积木也不仅仅只是下拉列表,下拉区还可以拖入积木,如下图所示,可以将表格中的某一行或者某一列当作一个列表来处理

同样的,我们也建议只使用全局列表,除非克隆体需要使用

列表的编辑,打开列表的编辑页,可以通过新增行来增加列表的长度并进行编辑,关闭时自动保存并会清理空白的多余行

image.png

表格

在数据面板的第三栏是表格,表格对应代码中的二维数组,并且有对应的取值积木方法,读取表格的数据、表格的行列等等,具体的积木含义查看积木

表格通常是我们用来定义初始化参数用的,例如答题游戏的题目和选项,关卡的配置等

表格增删

一旦添加完表格,就可以在进行数据编辑与录入,操作类似于Excel,功能比较简单,可以进行增删行列的操作

表格导入导出

目标表格导入数据比较简单,后续会再优化。目前只支持CSV格式,如实是用Excel编辑的,可以用Excel软件导出CSV格式。需要注意的是,数据的表头必须是与IDE中一一对应。建议导入前先导出看下对应的数据格式

image.png

必须加上这个,否则会导入失败。而且IDE中的表,必须有相等的列数。

image.png

都是5列,才能够导入成功。
导出数据比较简单,也是CSV格式,如果需要修改大量数据,可以先导出,修改完成后再导入。

对象

对象是编程中常用的一种数据格式,以一种散列的形式存储。如下:

{
  a: 1,
  b: '123',
  c: {
    a: 12
  },
  d: [1, 23]
}

a和b称为对象的属性,1和'c',是属性对应的值,属性值可以是任意类型:数值、字符串、对象、列表、表格等等。通常情况下属性值是唯一的,如果重复了后者则会覆盖前者。

创建对象的流程和变量、列表是一样的,可以指定是局部的还是全局的。默认创建的对象是个空对象,只能通过积木对对象赋值操作。

空对象

{}

积木逻辑区域提供了四个积木可以操作对象。

  • 第一是可以直接访问对象,提供了对象的快速查找积木
  • 第二可以获取对象的对应属性key的value值
  • 第三是可以新增一个属性并设置对应的value值
  • 第四是可以删除某个属性key,同时对应的value也会被删除。

通知

通知也是游戏逻辑中非常重要的关键积木,一个完整的游戏往往会用到很多次通知,例如最常用的 开始游戏,结束游戏,得分,角色死亡 等等

和通知相关的积木只有两个,一个在控制中发送通知,一个在事件里接收通知

通知可以一次性触发所有精灵的启动事件

最常用的场景:当开始按钮被点击时,通知所有人开始游戏,然后各个精灵就开始各自接收到事件,初始化数据,出现弹窗,主角重置到初始位置等等操作

如果是固定只通知一个精灵图层,那么建议准确的选择而不是通知所有人,避免不必要的消耗

某些积木功能是会自带等待效果,例如动画里的在几秒内执行XX之类的,或者重复执行等等,那么我们就要利用通知,多几个接收通知的事件来同时执行一些动画

results matching ""

    No results matching ""