积木脚本

积木是可视化制作工具中承担非常重要的逻辑关联的一部分,我们采用事件头触发的模式竖向排列拼接积木,每个事件头被触发后才会执行内部的积木,如果是散落的积木则不会执行

这里有几个通用概念,大部分积木都会有主语的选择,当我们选主语为其他精灵时,我们就可以在当前精灵控制其他精灵

还有几个固定的选项

  • 自己: 指精灵自己,常用主语,一般积木都默认操作自己,也可以用来在克隆体启动时指代克隆体本身
  • 创建者: 特指克隆体的创建者,在当克隆体被创建时使用,用于找到创建该克隆体的对象
  • 随机: 只会在屏幕内随机,而不是真正的无限随机
  • 手指: 指用户操作屏幕的触发坐标点
  • 被碰撞者: 在发生碰撞时使用,在监听碰撞的事件里找到被碰撞的对象
  • X: 横坐标
  • Y: 纵坐标
  • 边缘: 特指场景的边缘,通常就是屏幕看到的区域
  • 子精灵: 容器特有的选项,通常用于控制被克隆的容器
  • 阻塞动画: 部分动画积木具有等待的效果,必须等待动画完成才会往下执行

事件

丰富的事件钩子积木能快速简单的控制游戏流程,监听状态和输入

启动事件都是“头部积木”,只有启动事件被触发,其中包含的积木队列才会被依次执行。

积木名称 参数 描述
当场景启动时 当前场景的所有精灵初始化之后,触发此事件,我们推荐正式做项目时用此积木代替当游戏开始时
当精灵被[?]时 点击/按下/按住/放开/双击 精灵绑定用户操作相关的事件,事件的顺序是按下->按住->放开
当屏幕被[?]时 点击/按下/按住/放开/移动/双击 屏幕绑定用户操作相关的事件,可在任意精灵的积木区域绑定
当在屏幕向[?]滑动 上下左右 监听用户操作滑动手势
当[?]碰撞[?] [精灵]-[精灵/边缘] 全局监听碰撞事件,碰撞的瞬间仅触发一次直到不再接触才能再次触发
当精灵移出场景 上/下/左/右/全部边缘 精灵移出边缘后持续触发,常用于监听并销毁克隆体
当作为克隆体启动时 使用「克隆[?]」积木产生的克隆体时都将立即触发此事件
当收到通知[?] 选项:消息名 当收到该消息名对应的通知时触发,常用于跨精灵互相触发
当设备方向变化 左/右 手机左、右翻转时触发
当<条件>成立 <条件> 可以任意搭配侦测条件,条件成立时触发
当广告播放完成 <条件> 用于侦测广告是否播放完成,条件成立时触发
当广告拉取异常 <条件> 当广告拉取异常时触发,用于调试和异常处理
当小游戏显示 当小游戏在手机端被打开,触发onShow时
当小游戏隐藏 当小游戏在手机端被关闭,触发onHide时
当跳转到小程序成功 <条件> 当小游戏在手机端被关闭,触发onHide时

逻辑

积木名称 参数 描述
重复执行 重复执行频率跟游戏的刷新频率一致,约16.67ms一次
重复执行(n)次 整数 有限次的循环,执行频率跟游戏的刷新频率一致,约16.67ms一次
重复执行直到<条件> 条件积木 一直重复执行,直到<条件>为
逻辑循环(n)次 整数 有限次的循环,在当前帧全部执行完毕,在逻辑循环中的克隆会立即克隆
退出循环 退出最近一层重复执行语句
退出逻辑循环 退出最近一层逻辑循环语句
如果<条件> 条件积木 条件判断语句,符合条件则执行
如果<条件>,否则 条件积木 条件判断语句,符合条件则执行,否则执行另一个
等待(n)秒 正数 等待(n)秒之后继续执行下面的积木动作
等待(n)秒 正数 等待(n)帧之后继续执行下面的积木动作
等待<条件> 条件积木 等待<条件>为真之后继续执行下面的积木动作

视频教程:逻辑循环和重复执行的区别

控制

「克隆」是使用积木进行可视化编程最重要的能力之一,它完全复制了克隆本体的所有属性并继承所有事件。方便开发者复用和管理具有相同动作行为的精灵组。

克隆体继承的属性是初始属性,即设置里面的值。由积木改变后的属性不会继承

示例精灵克隆

积木名称 参数 描述
设置[精灵][?]拖拽 精灵列表;[任意方向/横行/纵向/不可] 设置精灵是否可被拖拽
设置[精灵][?]手指事件 精灵列表;[响应/不响应] 设置精灵是否可被用户点击到触发点击事件
通知[所有人/精灵][?] 所有人/精灵列表;通知列表 发送通知
克隆[精灵] 精灵列表 复制一个精灵实例所有属性并继承所有事件
删除此克隆体 如果当前的精灵实例是克隆体,销毁自己
切换到场景[场景] 场景列表 切换场景,具体用法看场景管理
切换到下一个场景 切换到下一个场景,注意最后一个场景不能使用该积木
切换到第(1)个场景 整数 切换到某个场景,可以配合变量切换到相应场景
销毁场景[场景] 场景列表 销毁场景,具体用法看销毁场景
销毁第(1)个场景 整数 销毁场景,可以配合变量销毁相应场景
停止当前精灵的[事件] 选项 停止对应的事件或者所有事件
重启游戏 销毁所有场景重置所有数据重新启动游戏
重启当前场景 销毁当前场景并重新启动当前场景
设置[参与/不参与]碰撞 选项 是否参与与其他精灵的碰撞(非物理)

| 全局计时器归零 | 无 | 重置全局计时器为零 | | 全局计时器 | 无 | 一个从游戏开始自动开始计算的时间戳 |

摄像机相关的积木使用介绍查看摄像机

运动

积木名称 参数 描述
移动到X:(0) Y:(0) 数字 设置精灵的 X、Y 坐标
将X/Y坐标设置为(0) 数字 设置精灵的 X/Y 坐标
将X/Y坐标增/减(10) 数字 增减改变精灵的 X/Y 坐标
移动(10)步 整数 向当前精灵的移动朝向角度移动10步,这里的1步即1个像素
设置移动方向为(45)度 0-360 改变当前精灵的移动朝向为某一角度
设置移动方向为[?]度 其他精灵 改变当前精灵的移动朝向为对准其他精灵的角度
移动到[?]的[相对坐标/绝对坐标] 随机/创建者/手指/[精灵] 让精灵坐标设置到到[随机/创建者/手指/某精灵对象]的相对/绝对位置
面向[?]位置 [精灵] 默认面向是0°(正右方向),面向和旋转角度稍有不同,我们调整好精灵方向对准正右方向后,即可使用面向来旋转精灵,相当于初始化修正了旋转的角度
面向(20) 0-360 设置精灵面向的角度
旋转到(20)度 0-360 精灵旋转到固定度数
旋转(45)度 0-360 精灵向逆时针旋转n度

正常情况下相对坐标和绝对坐标一致,相对坐标是以容器坐标为标准,绝对坐标是以游戏场景坐标为标准

外观

积木名称 参数 描述
显示 让精灵在场景中显示
隐藏 让精灵在场景中隐藏
切换造型为[?] 造型列表 切换精灵造型到某个已添加的造型
切换到第(n)个造型 整数 切换精灵造型到序号为 n 的造型
将造型[?]翻转 水平/垂直 将精灵[水平/垂直]镜像翻转
动态切换自己的造型为(网址) 图片地址 动态设置造型图片,不需要上传素材到素材库
切换到第(n)帧 整数 使用具有帧动画的精灵指定到某一帧
将精灵[?]设置为(n) [宽/高/宽高]/(正数) 修改精灵的[宽/高/宽高]为指定的值
将精灵大小设置为(n)% 正数 基于当前尺寸进行百分比放大或缩小
将精灵大小[增加/减少] (n)% 正数 基于当前尺寸缩放精灵的大小
设置透明度为(0.5) 正数 设置精灵的透明度,透明度的值的范围是0(完全透明)-1(不透明)
设置透明度[增加/减少] (0.1) 数字 修改精灵的透明度,透明度的值的范围是0(完全透明)-1(不透明)
设置颜色为[?] 颜色 设置精灵的叠加颜色
设置颜色为[?] [?] [?] 正数 设置精灵的叠加颜色
修改[数字精灵]数字为(0) 数字精灵列表/数字 动态改变数字精灵的值
修改[数字精灵]的值[增加/减少] (0) 数字精灵列表/数字 动态改变数字精灵的值
修改[文字精灵]内容为(你好) 文字精灵列表/字符 动态改变文字精灵的文本内容
将层级[上移/下移] (1) 整数 将精灵的层级上调/下移,最上层的会遮住下层的
将层级移至[?] 最上层/最下层 将精灵的层级移至最上层或者最下层
获取[文字精灵]的文本 文字精灵列表 获取文本内容

动画

积木名称 参数 描述
在(n)秒内[循环/单次]播放造型 数字;选项 播放造型帧动画,不会阻塞后续积木
停止播放造型 停止播放造型动画
在(n)秒内透明度改变为(n) 数字 阻塞式,在几秒内改变透明度,n秒之后才会执行下一个积木
在(n)秒内缩放至x:(n)y:(n) 数字 阻塞式,在几秒内改变宽高
在(n)秒内滑行到x:(n)y:(n) 数字 阻塞式,在几秒内改变位置
在(n)秒内滑行到[随机/精灵]位置 数字;选项 阻塞式,在几秒内改变位置

侦测

积木名称 参数 描述
[精灵]的[?] 选项 精灵的某个属性,详情查看:视频教程
手指的[x/y]坐标 [x/y] 返回当前手指在屏幕的[横/纵]坐标
手指移动的[x/y]坐标 [x/y] 返回上一帧到这一帧为止手指在屏幕的[横/纵]方向移动的距离
[精灵]与[手指/边缘/精灵]的距离 [精灵]/[手指/边缘/精灵] 返回两个对象之间的距离
[精灵]的[?]行为的[?] 当精灵添加行为后可以选择 获取自己或其他精灵的行为的属性
[精灵]的[?]行为的[?] 当精灵添加行为后可以选择 获取自己或其他精灵的行为的布尔值
[精灵]碰到[?] [边缘/精灵] 碰到的一瞬间触发一次
[精灵]与[?]相交 [边缘/精灵] 相交状态,碰撞后持续触发直到移出
[精灵]移出[?] [边缘] 移出后持续触发
屏幕被按下 手指是否在屏幕超过300ms
[精灵][?] [显示/隐藏] 返回精灵的显示状态
当前在[?] 场景列表 返回精灵是否在某个场景中
是克隆体 判断当前精灵对象是否是克隆体

运算

积木名称 参数 描述
算数运算 数字 下拉框可选择加、减、乘、除、取余数
取(1)到(10)的之间的随机整数 数字 取范围内随机整数
数值计算 正数 四舍五入、向上取整、向上取整、绝对值、sqrt(平方根)、sin(正弦)、con(余弦)、tan(正切)、asin(反正弦)、acon(反余弦)、atan(反正切)、log(对数)
取两个数的[最大值/最小值] 数字 求最大/小值
π 返回3.1415926
将(?)和(?)拼接 文字 将两个文字拼接
(abc)的第(1)个字符 数字 求字符串的某一个字符,比如abc的第2个字符就是b
(abc)的字符数 文字 比如abc的字符数就是3
获取(abc)的第(?)个字符到第(?)个字符 数字 比如abc的第2个字符到第3个字符就是bc
(b)在(abc)首次/末次出现的位置 文字 比如b在abc首次出现的位置就是2
当前[时间] 时间列表 返回当前时间的年份/月份/日期/小时/分钟/秒数/毫秒/时间戳/星期数
数值判断 数字 下拉框可选择大于、小于、等于、小于等于、大于等于、不等于
逻辑运算 条件积木 并且:两个条件都为真时为真;或者:其中一个条件为真就是真
否定判断 条件积木 判断某条件为假
(abc)是否包含(a) 条件积木 比如abc是否包含a:为真

数据

关于数据的介绍可以查看数据管理

积木名称 参数 描述
设置[?]属性(key)的值为(?) 精灵;文本;变量、文本或数字 设置精灵的属性key和对应的值,和局部变量一样属于某个精灵,不同的是别的精灵可以访问和修改
属性(key)的值 文本 返回某个属性key的值
[?] 变量 红色,返回变量的值
[?] 列表 橙色,返回列表的值
[?] 表格 黄色,返回表格的值
[?] 对象 深黄色,返回对象的值
将[?]设置成(c) 变量;文本或数字 设置变量
将[?]增减(n) 变量;数字 变量增加或减少
[?]的第(n)项 列表;数字 返回列表的第n项的值
[?]的项目数 列表 返回列表的项目数
(c)在[?]的位置 文本或数字;列表 返回某个值在列表中的位置序号
将(c)加入[?] 文本或数字;列表 在列表的最后加入某一个值
删除[?]的第(n)项 列表;数字 删除列表的第n个序号的值
删除[?]的全部项目 列表 清空列表
在[?]的第(n)项插入(c) 列表;数字;文字或数字 在列表中的某个位置插入值
在[?]的第(n)项替换为(c) 列表;数字;文字或数字 在列表中某个位置的值替换为c
将[?]随机打乱 列表 列表中数据进行随机重新排序
[?]包含(c) 列表;文字或数字 判断列表是否包含c
获取[?]的第(n)行 表格;数字 返回表格的第n行的列表
获取[?]的第(n)列 表格;数字 返回表格的第n列的列表
获取[?]的第(n)行第(n)列 表格;数字;数字 返回表格的第n行第n列的值
获取[?][行/列]的长度 表格 返回表格的是几行几列
将[?]的第(n)行(m)列替换为(c) 列表;数字;数字;文字或数字 在表格中某个位置的值替换为c
获取[?]对象(KEY)的值 对象;文本 获取对象的某个key对应的值
设置[?]属性(key)的值为(?) 对象;文本;变量、文本或数字 设置对象的属性key和对应的值,和精灵的属性有所区别
删除[?]的属性(key) 对象;文本 删除对象的某个key和对应值

key不要填变量,直接输入

函数

函数是一系列积木的组合,由开发者自己创建,在当前项目使用

如果我们需要多次在不同的精灵里使用同一批积木时,例如敌人和主角的碰撞逻辑,敌人的销毁逻辑等,我们就需要自己创建一些函数来节省我们的积木,提高开发效率

image

如图,我们在积木区域创建一个函数,输入函数名称,即可展开一个新的积木面板,函数积木面板和精灵积木面板类似,不同的精灵调用函数时,函数中的自己都是指代当前精灵自己

image

并且函数具有传递参数的功能,当我们给函数增加参数并命名后,我们在调用函数时就可以给函数传递对应的参数来达到不同的效果,注意:函数界面上方新增的参数是拖出来使用的

声音

积木名称 参数 描述
播放声音[?] 选项 播放一遍音频资源
循环播放声音[?] 选项 无限循环播放当前音频资源
循环/不循环播放背景声音[?] 选项 循环/不循环播放背景音频资源
暂停声音[?] 选项 暂停播放某个音频资源,当再次「播放声音」时,将继续播放
停止声音[?] 选项 停止播放某个音频资源,当再次「播放声音」时,将重头播放
停止所有声音播放 停止播放所有音频资源

小游戏

积木名称 参数 描述
设置分享标题(s) 文字 自定义小游戏分享标题
设置分享图片(http...) 网址 自定义小游戏分享图片
设置分享参数(name=jack) 文字 自定义小游戏分享参数
分享 拉起小游戏分享
拉起[?] 广告 拉起某个广告,需要先在作品设置里面设置广告ID
上报事件ID(branchId)类型曝光/点击参数(branchDim) 类型;参数 上传到独立小游戏后使用,官方文档
居中/左/右 显示/关闭Banner广告(广告位ID) banner广告ID 在MP后台开通banner广告后可拿到ID
上传分数(n)到排行榜 数字 上传得分到小游戏
打开排行榜组件 排行榜默认是最高层级的,且自带关闭按钮
设置排行榜标题(s) 文字 自定义排行榜显示的标题
设置排行榜单位(s) 文字 单位可以是分、距离、杀敌数等自定义文字
设置排行榜排序[?] 选项 默认降序,设置排行榜升序或降序
设置排行榜周期[?] 选项 默认为历史累计,可选每月周日更新榜单
触发短振动 使手机发生较短时间的振动(15 ms)
触发长振动 使手机发生较长时间的振动(400 ms)
显示消息提示框(提示) 文本 弹窗形式
控制台打印(log) 文本 发布到独立小游戏后在手机上使用
拉起小程序(appid)的页面(path) 文本 拉起小程序
获取分享参数 获取参数

插件和行为

在我们添加了系统插件或者给当前精灵添加了行为时,这两个积木区就会多出一些积木,具体的使用方法查看插件行为

results matching ""

    No results matching ""