蛋码功能
蛋码简介
蛋码是通过儿童编程逻辑,拼图积木结构组成的低代码可视化编程工具
通过简单的编程,完成一系列逻辑流程,来操作游戏内的角色,组件等等
界面介绍
入口
从更多中,点击蛋码进入
或者通过具体的实体,点击预设编辑,进入预设后,在页面右上角可以找到蛋码编辑


组成
蛋码由积木做为最小单元组成触发器,触发器即为一块逻辑结构,驱动游戏内的逻辑运行
积木放置于画布之上,一整块画布被称为触发器组,包含多个触发器
每个触发器独立运行,逻辑之间也可以相互依赖或者相互影响
分类
蛋码的积木分为事件,条件,控制,动作,获取,变量,自定义几大类
- 事件类积木:事件是触发器的启动开关,当事件描述的相关行为发生时,将执行其下挂载的各种积木
- 条件类积木:条件类积木会根据描述的内容,对其中填入的参数进行运算,然后返回一个真或者假的结果,用以进行判断,可以配合控制积木中的如果否则来使用,或者直接填入积木参数中布尔值类型里面
- 动作类/获取类积木:两类积木是组成触发器整体逻辑的主要部分,动作类积木一般是对指定的对象进行操作的方法,例如修改一个组件的位置,旋转,命令生物去移动,为角色添加技能等等;获取类积木则用以辅助动作类积木去完成,例如修改一个组件的位置,修改的是哪个组件,而位置又是哪个位置,都是通过获取类积木去寻找
- 控制类积木:这一类积木会提供一层嵌套的逻辑结构,来完成特殊的语法逻辑,例如如果/否则,通过一个条件来使得逻辑走向两种不同的情况 变量:变量是存储工具,它可以记录一个数据或者对象,方便下一次使用它
- 自定义积木:用户可以自己定义一些事件类,动作类和获取类积木,通过将其他积木排列组合一个通用的逻辑块,方便后续循环利用
如何编写
基础操作
在右侧的各类积木中找到自己想要使用的积木,使用点击或者拖拽放到画布上
积木与积木之间可以相互拼接,形成积木块
编写完以后,点击左下角的试玩按钮,即可试玩
触发器的构成
1.通过事件和动作来构成一个完整的触发器,将参数填入积木中来使得逻辑可以正确触发
示例:当指定角色进行前扑,就将该角色向前瞬移一段距离
2.使用控制构建复杂逻辑
条件语句
拿瞬移逻辑的例子,我们通过如果否则的条件语句来进行判断,当随机1~2的数字等于1时,向前瞬移,否则向后瞬移,那么就构造了一个存在分歧情况的逻辑
重复与遍历
通过控制积木的重复,以及遍历,可以实现,多次重复的效果,搭配重复次数,遍历到的值
计时器延时
可以在动作里增加计时器,计时器到期后下面的积木才会执行,以达到延时的效果
子触发器
可以动态注册一些触发器,来达到满足条件才监听或者根据实时情况监听的目的,例如,跳跃后才拥有抓举发送气泡聊天的能力
3.自定义积木的使用
在自定义中,选择对应分类,可以创建对应分类的自定义积木
自定义事件
新建事件时,可以通过+号添加该事件的参数,参数可以选择类型
当使用这个事件时,就可以将对应数据作为参数填入并传递
自定义动作
新建动作时,可以通过+号增加参数描述以及参数类型
这些增加的参数会传递到该动作内部
完成编辑后,点击定义,可以跳转到动作的逻辑编辑界面
编辑好对应的逻辑,一个自定义动作即可完成,可以在其他蛋码的画布内使用这个自定义动作了




自定义获取
创建和添加参数的过程和自定义动作相似,获取类积木会多一个返回值概念
可以在积木定义中返回一个数据类型作为该积木的逻辑结果
返回的结果可以是复杂的变量计算后的结果,也可以是通过一系列操作得到的数据


4.使用变量来记录数据
在变量分类里,可以新建指定类型的变量,用来进行计算和存储 q231231
类型
变量类型分为三类,普通,列表和权重池
普通变量用以单独记录,它通常指代一个具体的数据
列表变量可以记录多个数据,按顺序排列,可以进行循环遍历
权重池变量可以记录多个数据,数据记录时,还会包含一个权重的概念,当从权重池中随机取值时,会按照权重计算随机概率
作用域
变量存在作用域,根据作用域,分为三类: 全局变量,局部变量,临时变量
全局变量可以在任何触发器中使用,一旦发生设置改变,那么其他触发器获取到的这个变量也都将改变
局部变量只能在当前画布中使用,在另一个画布中就无法设置和获取到这个变量了
临时变量只能在当前触发器中使用,即时在同一个画布下,不同触发器之间的临时变量也不能互相干扰
辅助计算
例如进行复杂的数学计算,可以先将部分数值记录成变量,而后填入数学计算的积木里,得到结果
传递数据
变量记录的数据,只要在合法的作用域下,就可以传递数据
辅助功能
1.通过点击积木,获得功能列表


复制可以将该条积木以及其后面挂载的所有积木进行复制,在空白处粘贴
单条复制将仅复制该条积木
弹出可以将积木单条取出而不会影响其下面挂载的其他积木
注释可以写一段说明,来提醒自己或其他人这里写的逻辑是什么意思
禁用会使积木失效,当游戏运行时,被禁用的积木将不会运行;点击已经被禁用的积木会显示启用
删除等价于将积木拖至右侧的垃圾桶,可以直接将单条或一整块积木移除
2.通过搜索来查找相关的积木
在搜索按钮里可以进行搜索
搜索不仅可以寻找希望使用的积木,也可以搜索已经写好的积木在哪里
3.触发器组的管理
点击左侧下方的触发器组,可以看到触发器组的列表
在这里可以进行新建,删除,重命名等操作
将不同的逻辑放置到不同的触发器组中方便阅读和管理


4.蛋码模板和分享
在空画布上,可以点击蛋码模板来获取官方准备的模板预设,来学习一些复杂逻辑是如何编写的
也可以得到别人分享的蛋码模板分享码,输入后获取


5.触发器分区
地图中的触发器分为全局,关卡,预设三个大区,分区将限制触发器的作用范围,使得逻辑仅针对一部分内容生效,也会限制部分事件类积木的是否可用
全局和关卡两个分类仅针对多关卡地图,由多个地图组成的模式
对于单地图而言,仅存在关卡,预设两个分区
全局的触发器可以控制多关卡中的每一个地图,但不可以精确地控制具体地图里的具体对象实体
关卡的触发器可以控制当前关卡内的所有内容,可以控制具体的实体或游戏内容
预设的触发器仅控制当前预设的对象实体,可以让逻辑更私有,不干扰到其他的对象
点击左侧的分区按钮,可以看到当前地图中有哪些分区已经编写了触发器,可以直接跳转
调试蛋码
为了调试自己写的逻辑是否正确,我们可以通过调试窗口来查看
信息分类
调试窗口中间信息分为错误,警告,信息三类
错误信息通常指代这一条积木或者这一整块积木都无法运行
警告通常是强调用法错误,可能是使用对象不对或者超出限制,一般不会阻塞其他积木的继续运行
信息则是用户自己通过【发送信息】积木所发送的调试信息,可以用来确认一些值是否正确,逻辑是否走到
监听功能
在具体的变量编辑里可以设置其是否监听,被监听的变量,其值一旦发生变化,便会在调试窗口中显示

