方块 (TeaScript)
TeaScript/Block
block(id).index,是方块(或者砖块)的一个属性,一般用于给予砖块特殊的特性等。
with block(param)
'param 代表该砖块的 PermID。
end with
用法
使用
读取某个值:block(index).name
修改某个值:block(index).name = value
如果使用自定义方块,一般会在脚本片段加入以下代码:
with block(sysval(param2))
'executes
end with
一般情况下,sysval(param2) 参数代表该方块被顶一下时执行事件脚本的 PermID,更多信息请访问 Sysval(Param)。
参数
基础
| 参数名 | 数据类型 | 介绍 |
|---|---|---|
id
|
double | 方块的对象ID(1-357) |
x
|
double | 方块的X坐标 |
y
|
double | 方块的Y坐标 |
width
|
double | 方块的判定宽度。 |
height
|
double | 方块的判定高度。 |
xsp
|
double | 方块的横向速度。 |
ysp
|
double | 方块的纵向速度。 |
state
|
double | 方块的状态,设置为1将会让方块进入被敲击的状态,其他值则为破碎。 |
hide
|
double | 1为隐藏,0为显示。 |
pcollision
|
double | 玩家与方块之间的碰撞判定类型,此值不可更改。(由方块属性设置Collision Detection(Player)决定,例如这个值为 0 时为实心类型)
|
ncollision
|
double | NPC 与方块之间的碰撞判定类型,此值不可更改。(由方块属性设置Collision Detection(NPC)决定,例如这个值为 1 时为空心类型)
|
图形
| 参数名 | 数据类型 | 介绍 |
|---|---|---|
extx
|
double | 砖块所使用的拓展素材的横向位置。(需要勾选GFXSplitHeight才会生效。如果此值为-1,则NPC会隐形。)
|
exty
|
double | 砖块所使用的拓展素材的纵向位置。(需要勾选GFXSplitHeight才会生效。如果此值为-1,则NPC会隐形。)
|
forecolor
|
double | 砖块的颜色,使用rgba(red, green, blue, alpha)或整数值控制。
|
forecolor_r
|
double | 砖块的 rgba 前景色中的红色通道的数值。 |
forecolor_g
|
double | 砖块的 rgba 前景色中的绿色通道的数值。 |
forecolor_b
|
double | 砖块的 rgba 前景色中的蓝色通道的数值。 |
forecolor_a
|
double | 砖块的 rgba 前景色中的 alpha(即透明度) 通道的数值。 |
行为
| 参数名 | 数据类型 | 介绍 |
|---|---|---|
advset
|
double | 方块的内容。
0:无 1 ~ 99:金币数量 -1 ~ -302:数量不等的金币,顶一下触发倒计时 -302 以下:无。 1000+NPC ID:方块内包含的 NPC ID 种类。(例如 1031 为 SMW 的钥匙。) |
haswing
|
double | 方块的翅膀行为数值。
|
事件
注:此值可以是事件和脚本,也可以是自定义变量的一部分,但这就需要避免事件名称和脚本名称为该砖块使用的数值。
| 参数名 | 数据类型 | 介绍 |
|---|---|---|
deathevent
|
string | 方块死亡时所触发的事件的名称。 |
hitevent
|
string | 方块被敲击后所触发的事件的名称。 |
onscreenevent
|
string | 方块在屏幕上每帧所触发的事件的名称。 |
其他
| 参数名 | 数据类型 | 介绍 |
|---|---|---|
name
|
string | 方块的对象名称,通常多用于自定义方块。 |
| 请注意,这里以下所有的条目均以 SMBX 1.4.5 Patch 31.1 为基底。 | |
|---|---|
| 基础 | 语法 | 函数 | 回调型函数 |
| 组件 | BGP (大背景) | 背景物件 | 位图 | 方块 | 角色 | 特效 | 流体 | 计时器 | NPC | 文本 | 传送点 | 系统变量 |
| 技术性 | 额外值 | BSet 函数 | Playnote 函数 | 特殊图层 | 未知函数 | 自动运行事件 | 编辑器函数 |