# 积木脚本
# 启动事件
使用积木创作小游戏是基于事件的,丰富的事件钩子积木能让你快速简单的控制游戏流程,监听状态和输入。
启动事件都是“头部积木”,一旦启动事件被触发,其中包含的积木队列将会依次执行。
积木名称 | 参数 | 描述 |
---|---|---|
当游戏开始时 | 无 | 主场景的所有精灵初始化之后,触发此事件 |
当角色被[?]时 | 点击/按下/松开/轻触 | 游戏角色事件绑定 |
当屏幕被点击时 | 点击/按下/松开 | 屏幕事件绑定,可在任意精灵的积木区域绑定 |
当在屏幕向[?]滑动 | 上下左右 | 滑动手势监听 |
当[?]碰撞[?] | [精灵][精灵/边缘] | 全局监听碰撞事件,碰撞的瞬间仅触发一次 |
当角色移出场景 | 上/下/左/右/全部边缘 | 移出边缘后持续触发 |
当作为克隆体启动时 | 无 | 使用「克隆[?]」积木产生的克隆体都将立即触发此事件 |
当收到通知[?] | 选项:消息名称 | 订阅消息,当收到通知时触发 |
当切换到场景[?]时 | 选项:场景名称 | 切换到新场景时,此积木作为启动事件 |
当设备方向变化 | 左/右 | 手机左、右翻转时触发 |
当<条件>成立 | <条件> | 可以任意搭配侦测条件,条件成立时触发 |
# 逻辑控制
积木名称 | 参数 | 描述 |
---|---|---|
重复执行 | 无 | 重复执行频率跟游戏的刷新频率一致,约16.67ms一次 |
重复执行(10)次 | 整数 | 有限次的循环,执行频率跟游戏的刷新频率一致 |
重复执行直到<条件> | 条件积木 | 一直重复执行,直到<条件>为真。 |
退出循环 | 无 | 退出最近一层循环语句 |
如果<条件> | 条件积木 | 条件判断语句 |
如果<条件>,否则 | 条件积木 | 条件判断语句 |
等待(1)秒 | 数字 | 等待(n)秒之后继续执行下面的积木动作 |
等待<条件> | 条件积木 | 当<条件>为真时,才会执行该积木之后的所有动作 |
# 运动
积木名称 | 参数 | 描述 |
---|---|---|
移动(10)步 | 整数 | 向当前角色的移动朝向角度移动10步 |
移动到[?]位置 | 随机/手指/[精灵] | 让角色瞬间移动到某精灵对象位置 |
移动朝向[?]位置 | 随机/手指/[精灵] | 设置角色移动朝向某精灵对象 |
移动朝向(45)度 | 0-360 | 设置角色移动朝向。默认移动朝向是90°(向右) |
移动碰到[?]就反弹 | 边缘/[精灵] | 此反弹是角度反弹,不带物理特性 |
面向[?]位置 | [精灵] | 默认面向是90°(向右) |
旋转到(10)度 | 0-360 | 旋转到固定度数 |
旋转(15)度 | 0-360 | 设置角色发生旋转,逆时针是正方向 |
移到X:(0) Y:(0) | 数字 | 设置角色的X、Y坐标 |
将X/Y坐标设置为(0) | 数字 | 直接设置角色的 X/Y坐标 |
将X/Y坐标增加(0) | 数字 | 增量改变角色的 X/Y 坐标 |
# 外观
积木名称 | 参数 | 描述 |
---|---|---|
显示 | 无 | 让角色在舞台上显示 |
隐藏 | 无 | 让角色在舞台上隐藏 |
切换造型为[?] | 选项 | 切换角色造型到某个选项 |
切换到第(n)个造型 | 整数 | 切换到序号为 n 的造型 |
切换背景的造型为[?] | 选项 | 切换背景造型到某个选项 |
将角色大小增加(n)% | 整数 | 在现有基础上缩放角色的大小。负数缩小,正数放大 |
将角色大小设置为(n)% | 无 | 基于当前尺寸进行百分比放大或缩小 |
设置透明度为(1) | 数字 | 透明度的值的可控制范围是0(完全透明)-1(不透明) |
将造型翻转 | 左右/上下 | 将角色镜像翻转 |
修改[数字角色]数字为(0) | 数字 | 动态改变数字素材的值 |
修改[文字角色]文字为(你好) | 字符 | 动态改变文字素材的文本值 |
# 动画
积木名称 | 参数 | 描述 |
---|---|---|
在(n)秒内循环/单次播放造型 | 数字;选项 | 播放造型帧动画将不会阻塞后续积木 |
停止播放造型 | 无 | 停止播放造型动画 |
在(n)秒内逐渐隐藏/显示 | 数字 | 阻塞式,n秒之后才会执行一个积木 |
在(n)秒内滑行到x:(n)y:(n) | 数字 | 阻塞式,同上 |
在(n)秒滑行到[?]位置 | 数字;选项 | 阻塞式,同上 |
# 声音
积木名称 | 参数 | 描述 |
---|---|---|
播放声音[?] | 选项 | 播放一遍音频资源 |
循环播放声音[?] | 选项 | 无限循环播放当前音频资源 |
暂停声音[?] | 选项 | 暂停播放某个音频资源,当再次「播放声音」时,将继续播放 |
停止声音[?] | 选项 | 停止播放某个音频资源,当再次「播放声音」时,将重头播放 |
停止所有声音播放 | 无 | 停止播放所有音频资源 |
# 克隆
「克隆」是使用积木进行可视化编程最重要的能力之一,它完全复制了克隆本体的所有属性并继承所有事件。方便开发者复用和管理具有相同动作行为的精灵组。 示例精灵克隆
# 侦测
丰富的条件侦测能力,让基于事件触发机制的游戏更加可控。配合「当<条件>」积木使用非常方便。
积木名称 | 参数 | 描述 |
---|---|---|
[自己/精灵]碰到[?] | 选项:边缘/精灵 | 碰到的一瞬间仅触发一次 |
[自己/精灵]与[?]相交 | 选项:边缘/精灵 | 相交状态,碰撞后持续触发直到相离 |
[自己/精灵]移出[?] | 选项:边缘 | 移出屏幕后持续触发 |
屏幕被按下 | 无 | 手指是否在屏幕超过300ms |
[自己/精灵][?] | 选项:显示/隐藏 | 返回精灵的显示状态 |
[自己/精灵]的[?] | 选项:属性 | 返回精灵的所有属性 |
手指的[?]坐标 | 选项:x/y | 返回手指的坐标 |
# 通知
积木名称 | 参数 | 描述 |
---|---|---|
通知「所有人/精灵」[?] | 选项: 所有人/精灵;选项: 信号标识 | 发布通知 |
当收到通知[?] | 选项: 信号标识 | 订阅通知 |
“通知「所有人/精灵」[?]” 和“当收到通知[?]”是一对积木,它们提供了游戏精灵之间通信的能力。
通知的发布方和订阅方通过唯一的字符串标识作为“信号标识”,“信号标识”可通过下拉菜单添加,可在游戏编辑页顶部栏统一管理。
示例:角色通知
# 变量
在游戏过程中,用“变量”记录“得分”或者标识精灵对象的中间状态是非常不错的选择。在开发工具的顶部栏可以管理所有变量,变量分为:普通变量和列表两类。变量最常见的使用是用其记录“玩家得分”
# 1、创建变量
可在右侧积木面板的“变量”分类中找到「创建变量」按钮
亦可在开发工具顶部栏中直接添加
# 2、全局变量和局部变量
全部变量在整个游戏中是唯一的,一旦改变,任何读取全局变量的积木都会拿到最新的值。例如:玩家得分
局部变量局部变量是属于某个精灵个体的,并且精灵的克隆体也拥有其自己的局部变量。例如:打飞机游戏中的敌机生命值,每个敌机个体拥有其自己的生命值,当被子弹打中时,只有当前个体的生命值会减少。
# 3、变量控制
第一个变量一旦创建,在积木面板的“变量”分组中就会多出两个积木,如下表所示:
积木名称 | 参数 | 描述 |
---|---|---|
将[?]设置成(c) | 选项: 变量名称;字符串 | 变量设置 |
将[?]增加(n) | 选项: 变量名称;数字 | 变量叠加 |
# 运算
积木名称 | 参数 | 描述 |
---|---|---|
算数运算 | 整数 | 下拉框可选择加、减、乘、除 |
取()到()的之间的随机整数 | 整数 | |
数值判断 | 整数 | 下拉框可选择大于、小于、等于... |
逻辑运算 | 条件积木 | 并且:两个条件都为真时为真;或者:其中一个条件为真就是真 |
Math函数库 | 数字 | 包含:近似运算、三角函数、绝对值等 |
# 物理引擎
积木名称 | 参数 | 描述 |
---|---|---|
开启物理引擎 | 无 | 让精灵具备物理属性,最直观表现为自由落体运动 |
关闭物理引擎 | 无 | 将精灵从物理世界中移除,不再具有物理属性 |
设置角色的碰撞轮廓[素材轮廓] | 选项 | 复杂的轮廓会有性能损耗,圆形和方形损耗相对较低 |
设置角色[可以/不可以]物理倾倒 | 选项 | 精灵在物理运动过程中,受到惯性影响会发生倾倒 |
设置摩擦系数(n) | 数字 | 默认值是0.1,取值范围为(0,1),0表示精灵几乎可无限滑动 |
设置反弹系数(n) | 数字 | 默认值是0,取值范围为(0,1),0表示完全没有弹性 |
设置质量(n) | 数字 | 质量越大,精灵惯性越大 |
设置重力加速度的大小(n)和方向(c) | 数字 | 全局设置,默认方向是垂直向下(-90),大小为9.8 |
设置速度的大小(n)和方向(c) | 数字 | 给定一个方向,为精灵设置一个初始速度 |
设置力的大小(n)和方向(c) | 数字 | 给定一个方向,给精灵施加一个力 |
设置物理边界为屏幕[全部边缘] | 选项 | 全局设置,边界在这里的定义就是屏幕边缘 |
# 特效组件
积木名称 | 参数 | 描述 |
---|---|---|
角色抖动 | 无 | 抖动角色,可设置时长,阻塞后续积木 |
粒子特效 | 无 | 向四周散射粒子,粒子可自定义 |
向上漂浮 | 无 | 给精灵赋予向上的一个重力加速度,效果类似气球漂浮 |
角色跳跃 | 无 | 精灵连续多次向前上下跳跃 |
背景循环滚动 | 无 | 常用于设置地板无限混动 |
角色闪烁 | 无 | 快速闪烁,可设置闪烁间隔和次数 |
# 系统组件
积木名称 | 参数 | 描述 |
---|---|---|
触发短振动 | 无 | 使手机发生较短时间的振动(15 ms) |
触发长振动 | 无 | 使手机发生较长时间的振动(400 ms) |
打开排行榜组件 | 无 | 注:排行榜组件自带关闭按钮 |
上传分数(n)到排行榜 | 数字 | 保存并上传得分 |
设置排行榜标题(s) | 字符串 | 自定义标题 |
设置排行榜单位(s) | 字符串 | 单位可以是分(s)、距离(m)、杀敌数(n)等 |
设置排行榜排序[?] | 选项 | 默认降序,设置排行榜升序或降序 |
设置排行榜周期[?] | 选项 | 默认为历史累计,可选月周日更新榜单 |