积木脚本 · 小游戏创作工具

积木脚本

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

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

还有几个固定的选项

自己: 指精灵自己,常用主语,一般积木都默认操作自己,也可以用来在克隆体启动时指代克隆体本身 创建者: 特指克隆体的创建者,在当克隆体被创建时使用,用于找到创建该克隆体的对象 随机: 只会在屏幕内随机,而不是真正的无限随机 手指: 指用户操作屏幕的触发坐标点 被碰撞者: 在发生碰撞时使用,在监听碰撞的事件里找到被碰撞的对象 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) 文本 拉起小程序 获取分享参数 无 获取参数

插件和行为

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

相关知识

积木脚本 · 小游戏创作工具
编写手机游戏脚本工具:包含制作软件及脚本创作方法全攻略
优化建议 · 小游戏创作工具
手机小游戏去除广告脚本
全角度运用神话辅助脚本工具的实操玩法
ai智能游戏脚本怎么用的:人工智能游戏辅助脚本应用指南
几种适合游戏开发初学者的创作工具
AI人工智能游戏助手:全面辅助脚本编程与优化指南
AI人工智能游戏辅助工具:全功能脚本解决方案,覆各类游戏辅助需求
译介丨DanielleRiendeau:叙事游戏开发最好用的几个免费工具

网址: 积木脚本 · 小游戏创作工具 http://www.hyxgl.com/newsview373895.html

推荐资讯