系统

内置系统对象,可以对系统级的事件进行控制。

条件

角度

在角度范围内:比较该角度是否在另一个角度的X度范围内
位于顺时针方向:比较该角度是否位于另一角度的顺时针方向
位于两角之间时:比较某角度是否在两角度之间

通用

检测值的类型:检测某值是数字还是字符串
每帧执行:每一帧都执行后续动作,即“一直执行”
介于两值之间:描述比较数字是否介于两个值之间
事件组启用时:检测某事件组是否处于启用状态
比较两值:比较两个值的大小关系,这个条件不会选中任何实例。
非数值时:检测某个数字是否为非数值
是否满足正则表达式:检测字符串是否符合正则表达式
UID存在时:检测给定UID的对象是否存在

全局变量与局部变量

比较变量值:比较某个全局变量或局部变量的值
检测布尔变量:检测某个全局或局部布尔型变量是否为真

图层组

比较透明度:检测一个图层组的透明度是否满足条件
图层组可见时:检测一个图层组是否处于可见状态
图层组为空时:检测某图层组是否为空

场景

着色器特效可用时:当着色器特效可以用时为真
截屏完成时:当“截屏”动作完成,且截图可用时触发

循环

For循环:用两个索引定义循环次数,循环次数为(结束索引-起始索引+1)次。
While循环:和其他条件组合使用,在后续条件满足时一直循环动作,直至后续条件不满足时才停止。
排序遍历循环:按某种排序方式,对某个对象的每个实例都执行一次
遍历循环:对某个对象的每个实例都执行一次
循环:用两个索引定义循环次数,循环次数为(结束索引-起始索引+1)次。

选中实例

按覆盖点选中:选中某对象覆盖场景中一点的实例
选中最新创建的实例:选中某对象最新创建的实例,和“通过名称创建对象”配合使用,非常有效
按条件选中:选中某对象符合特定条件的实例
筛选选中:通过计算一个表达式来选中对象的实例
全选实例:重置实例选择,以选中对象的全部实例
选中随机实例:从当前选择的对象的实例中,选中随机某个实例
选中第N个实例:从当前选择的对象的实例中,选中第N个实例

保存与读取

存档完成时:“保存进度”动作完成,且存档完成时触发
存档失败时:“保存进度”动作完成,且存档失败时触发
读档完成时:“读取进度”动作完成,且读档完成时触发
读档失败时:“读取进度”动作完成,且读档失败时触发

特殊条件

仅触发一次:使一个持续为真的事件,在其第一次为真的时候触发。要放在条件块的最后一条,
预览状态中:当游戏在预览状态中运行,而不是以导出项目的形式运行时为真
在移动设备上运行时:在移动设备上运行时为真。该条件为估计情况,并不一定完全准确
否则(Else):如前一条事件为假,则运行该条事件。注意这个条件不会选中任何实例,只在逻辑上发挥作用

开始与结束

场景结束时:当前场景结束时触发
恢复运行时:当程序从后台切换到前台运行时触发
加载页结束时:在加载场景中,当加载结束时触发
正在后台运行时:当程序正在后台运行时为真
切至后台时:当程序被切换到后台时触发,比如切换浏览器标签或app
场景开始时:当前场景开始时触发

时间

每隔X秒:以固定时间间隔运行动作
比较运行时间:比较当前的运行时间(从开始运行到现在的时间,以秒为单位)

动作

显示

设置半帧率模式:选择要启用还是禁用半帧率模式,开启为30帧运行,关闭为60帧运行。
设置画布尺寸:填写要设置的画布宽度,以像素为单位。
截屏:对当前展示的内容进行截图,可以通过“截图成功时”条件和“CanvasSnapshot”表达式来获取截取的图片。
像素取整:开启时,对象总是会绘制在整数位置上。
设置全屏缩放:设置全屏缩放的画质。

通用

创建实例:在当前场景创建某对象的一个新实例
启用或禁用事件组:启用或禁用某事件组
通过名称创建实例:依据对象的名字在当前场景,创建该对象的一个新实例
重置“保持状态”对象:将场景中所有具有“保持状态”能力的对象,重置为其初始装填
停止循环:停止所有当前正在运行的循环((for循环, 遍历循环, 重复)
进行图层排序:按照实例变量的值,排列某对象所有实例的图层顺序

全局变量与局部变量

减法运算:从全局或局部变量中减去一个值
设置布尔变量:设置全局或局部布尔型变量的值
加法运算:在全局或局部变量上加上一个值
重置全局变量:将项目中的所有全局变量,重置为其初始值
切换真假:将某个全局或局部布尔型变量的值反转
设置值:设置全局变量或局部变量的值

图层组:

设置图层组背景透明状态:设置图层组背景透明状态
设置图层组缩放比例:设置单个图层组的缩放比例
设置图层组角度:设置单个图层组的角度
设置图层组透明度:设置单个图层组的透明度
设置图层组缩放倍数:设置单个图层组的缩放倍数(即“缩进”),让它显得更大或更小
设置图层组背景色:设置图层组的背景颜色
设置图层组显隐:设置图层组的可见性
启用图层组特效:启用或禁用某图层组上的一个特效
设置图层组特效:设置图层组上某个特效的一个参数值
设置图层组渲染到纹理模式:设置某图层组的“强制渲染到纹理模式”
设置图层组混合模式:改变图层组的混合模式属性
设置图层组视差:设置图层组的视差

场景

设置场景特效:填写要设置的场景特效的参数值。
跳转场景:跳转到当前项目的另一个场景。
动态跳转场景:跳转到本项目内的另一场景,场景名称可以用表达式或变量指代。
重启当前场景:重启当前场景,同时将所有状态初始化。
启用场景特效:在当前场景启用或禁用指定特效。
刷新初始实例:在指定矩形范围内重新创建某个实例。
旋转场景:设置整个场景的旋转角度。
跳转临近场景:跳转到上一场景或下一场景,以场景列表顺序为准。
缩放场景:设置整个场景的缩放比例。

保存与读取

保存:保存游戏状态到本地设备
加载:从本地设备加载游戏的存档数据
从JSON文件加载:从一个JSON字符串加载当前游戏的存储数据。

聚焦

聚焦到垂直位置:聚焦到某Y坐标
聚焦到某处:聚焦到某个坐标点
聚焦到对象:聚焦到某对象上
聚焦到水平位置:聚焦到某X坐标

时间

等待:设置运行下个动作前的等待时间,以秒为单位
发出信号:恢复某个“等待信号”动作
设置时间尺度:改变游戏中时间流逝的速度,可以用来实现慢动作或暂停效果
重置对象的时间尺度:将对象的时间尺度设置为游戏的时间尺度
设置对象的时间尺度:改变特定对象的时间流逝速度。覆盖游戏整体的时间尺度
设置最小帧率:最小帧数。低于这个帧率,dt不会变大。游戏会在慢动作模式下进行
等待信号:直到对应的“信号”动作使用前,持续进行等待

表达式

显示

OriginalViewportWidth/OriginalViewportHeight:获取项目设置中的视窗宽度值/高度值
WindowWidth/WindowHeight:用来展示游戏区域的窗口宽度值/高度值

图层组

CanvasToLayerX(layer, x, y)/CanvasToLayerY(layer, x, y):将画布(即屏幕)上某点的坐标,转换为图层组上的坐标。
LayerToCanvasX(layer, x, y)/LayerToCanvasY(layer, x, y):讲图层组上某点的坐标,转换为画布(即屏幕)上的坐标。
LayerAngle(layer):获取图层组的当前角度,以度为单位(用名称或数字选择)
LayerIndex(layer):利用图层组的名称,获取它的编号
LayerOpacity(layer):获取当前图层组的透明度(用名称或数字选择)
LayerParallaxX(layer)/LayerParallaxY(layer):获取图层组水平/垂直方向的视差
LayerScale(layer):获取当前图层组的缩放比率(用名称或数字选择)
LayerScaleRate(layer):获取当前图层组的缩放比率(用名称或数字选择)
ViewportBottom(layer):获取图层组视窗区域下边缘的Y坐标
ViewportLeft(layer):获取图层组视窗区域左边缘的X坐标
ViewportRight(layer):获取图层组视窗区域右边缘的X坐标
ViewportTop(layer):获取图层组视窗区域上边缘的Y坐标

场景

CanvasSnapshot:返回截图的通用资源标识符(URI),仅在系统动作“截图”后生效。
LayoutAngle:获取当前场景的角度值,以度为单位。
LayoutScale:获取当前场景的缩放倍数。
LayoutWidth/LayoutHeight:获取当前场景的宽度/高度值。
LayoutName:获取场景名称
ScrollX/ScrollY:当前滚屏位置的X/Y坐标

数学

sin(x), cos(x), tan(x), asin(x), acos(x), atan(x):计算一个数(以度为单位)的正弦值/余弦值/正切值/反正弦值/反余弦值/反正切值
abs(x):计算某数的绝对值
angle(x1, y1, x2, y2) :计算两个点之间的角度,以度为单位
anglelerp(a, b, x):在角度a、b(以度为单位)之间进行线性插值,间隔为x度
anglediff(a1, a2) :获取两个角度间最小的差值
anglerotate(start, end, step):将角度以一定的间隔,从开始旋转到结束
ceil(x) :将一个数值向上取整
cosp(a, b, x) :在a、b之间进行余弦插值,间隔为x
cubic(a, b, c, d, x) :在a、b、c、d之间进行三次插值,间隔为x
distance(x1, y1, x2, y2) :计算两个点之间的距离
exp(x) :计算给定值的e指数幂
floor(x) :向下取整
infinity:返回一个设定为正无穷大的数
lerp(a, b, x) :在a、b之间进行线性插值,间隔为x
unlerp(a, b, y) :给定范围a、b和插值结果,计算插值的间隔
ln(x):计算以e为底的对数大小
log10(x) :计算以10为底的对数大小
max(a, b [, c…]), min(a, b [, c…]) :计算一组数的最大值/最小值
pi:数学常数π(3.1415926…)
qarp(a, b, c, x):在a、b、c之间进行二次插值,间隔为x
round(x) :将一个数值取整为最接近的整数
sign(x):返回一个数的符号(-1,01)
sqrt(x):计算某数的平方根
getbit(x, n):获取32比特整数中,某一位上的比特值
setbit(x, n, b):设置32比特整数中,某一位上的比特值
togglebit(x, n):切换32比特整数中,某一位上的比特值

保存与读取

SaveStateJSON:在“保存完成”后,获取一串包含存档数据的JSON字符串。

系统

ImageMemoryUsage:只在webgl渲染器下生效,返回预估的显存占用,以mb为单位
LoadingProgress:获取加载场景中的加载进度或后台升级的进度,进度值介于0到1之间
LoopIndex:获取当前运行中循环的编号
LoopIndex(name):获取当前运行中循环的编号
ObjectCount:获取项目中,一共有多少个对象
ProjectName:返回项目名称
ProjectVersion:返回项目属性中设置的版本号
Renderer:只在webgl渲染器下生效,返回预估的显存占用,以mb为单位
RendererDetail:可能的情况下,返回渲染硬件的信息

文本

find(src, text):在指定的文本中,查找查找其他文本的位置,忽略大小写
findCase(src, text):在指定的文本中,查找其他文本的位置,考虑大小写
left(text, count):返回文本的前N个字符
len(text):获取某个文本中的字符数
lowercase(text):将文本转换为小写(如“TeXt”变为“text”)
mid(text, index, count):返回文本从某编号开始的N个字符
newline:文本中的换行符
RegexMatchAt(String, Regex, Flags, Index):返回文本中第N个匹配正则表达式的位置
RegexMatchCount(String, Regex, Flags):返回文本中正则表达式匹配的数量
RegexReplace(String, Regex, Flags, Replace):当正则表达式匹配时,返回文本
RegexSearch(String, Regex, Flags):返回文本中第一次符合正则表达式的位置
replace(src, find, rep):将文本中的某些字符完全替换
right(text, count):返回文本的后N个字符
tokenat(src, index, separator):返回文本中,第N个分割结果
tokencount(src, separator):返回文本中分割的结果数
trim(src):将文本开头和结尾的空白空间删除
uppercase(text):将文本转换为大写(如“TeXt”变为“TEXT”)
URLEncode(str):将文本进行编码以适应POST或GET请求
URLDecode(str):解码进过URL编码的文本
zeropad(number, digits):在数字签名用0装饰,如000045

时间

CPUUtilisation:获取上一秒中,CPU在游戏中消耗了多长时间,以秒为单位
dt:获取从上一帧到这一帧的时间,以秒为单位(也叫做时间间隔)
fps:获取当前每秒种的帧数
GPUUtilisation:获取上一秒中,渲染消耗了多长时间,以秒为单位
tickcount:获取从游戏启动到现在共经过了多少帧。
time:从游戏开始到现在的总运行时间,以秒为单位。考虑时间尺度。
timescale:获取时间尺度系数
unixtime:获取从1970年1月1日到现在的UNIX时间,以毫秒为单位
wallclocktime:从游戏开始到现在的总真实运行时间。不考虑时间尺度。

数值

choose(a, b [, c…]):从所有参数中,随机选择一个
clamp(x, lower, upper):返回在某个固定范围之间的所有孩子
float(x):将文本或整数,转化为小数
int(x):将文本或小数,转化为整数
random(x):产生一个0到x的随机数,但不包含x
random(a, b):产生一个随机数。输入两个值,可以产生在一定范围内的随机数
rgb(r, g, b):生成一组RGB值(可以代表一种颜色)
str(x):将整数或小数转化为文本,你也可以用“&”符号来链接文本和数值。