变量 (编辑器)

来自SMBX 中文百科
Editor/38A/Variables
跳转到导航 跳转到搜索
SMBX 1.4.5 P31.1 变量窗口

变量是 SMBX 38A 的一个重要组件,作用是用于控制用户定义的变量,以用于控制许多逻辑事件等等用途。

此组件需要配合 TeaScript API 去使用。

用法

打开菜单栏中的"View" - "Variables",可以看到诸如右边窗口内容。

点击"Add"可以添加一个用户定义的变量,点击“Delete”可删除当前选择的变量。

按住“Shift”键点击“Add”可以添加一个用户定义的数组,需要在 TeaScript 使用call redim(0, arrayName, Count)call redim(2, arrayName, Count*2)来定义数组的下标数(字符串数组会定义2倍于给定数量的下标数。)

特性

在该窗口创建出来的变量,会创建一个以val()str()形式的用户变量,在 TeaScript 可以使用不同的脚本去调用。

v(a) = 125
v(b) = v(a) + 125
v(c) += v(b)
str(a) = "Hello SMBX World!"

'注:字符串变量无法使用“Variables”窗口直接查看或编辑。

创建出来的用户变量,左侧会有一个G勾选框,代表当前游玩存档(编辑器游玩环境无效)对该变量进行保存行为,下次在进入该关卡可以读取之前保存的变量。

创建了一个变量且勾选了“G”

如果需要在不同的关卡里调用同一个变量,需要先去往世界编辑器里创建变量(需要保存在同一个关卡工作区),再次回到关卡编辑器会发现创建出来的变量变灰,这就代表这是一个“全局变量”,需要使用gvl()gstr()去调用。

与关卡内的“G”变量的区别是,前者只能在一个关卡里使用,适合定义诸如进度,当前关卡货币等等特性;后者可以在不同关卡调用该变量,适合用于替代原版的计数系统等等。

如果用户需要定义一堆数保存在一个变量,需要创建数组,但是创建出来的数组不能直接使用,需要在脚本里使用call redim(0, arrayName, Count)call redim(2, arrayName, Count*2)定义下标个数(字符串需要定义2倍数量)。之后使用array(arrayname(x))strarray(arrayname(x))即可调用。

创建了若干个全局变量,且额外创建了一个数组。