Skip to content

BindableEvent ​

BindableEvent 是同端脚本之间的事件容器,通过 Connect 或 Once 监听,并通过 Fire 传递一个可选事件参数。

概览 ​

BindableEvent 是同端脚本之间的事件容器,通过 Connect 或 Once 监听,并通过 Fire 传递一个可选事件参数。

继承自 Unit;可通过 World:CreateUnit("BindableEvent", ...) 创建;返回单个单位

函数 ​

Fire ​

签名:Fire(args: Any?)

触发本地事件,并向监听函数传递一个可选参数;多项数据可装入单个 Table。

参数类型说明
argsAny事件参数

注册一次性监听并触发本地事件

lua
-- @runtime client
local notifyEvent = game:CreateUnit("BindableEvent", { Name = "关卡完成事件" })
if notifyEvent == nil then return end
notifyEvent:Once(function(message)
    print("收到本地事件:", message)
end)
notifyEvent:Fire("第一关已完成")
notifyEvent:Destroy()

Connect ​

签名:Connect(func: Function) -> Connection

在 BindableEvent 实例上注册一个监听函数,当该事件被 Fire 触发时,传入的 func 会被调用;返回一个 Connection 对象,用于后续断开该监听。

参数类型说明
funcFunction事件触发时调用的监听函数

返回值 Connection

Once ​

签名:Once(func: Function) -> Connection

在 BindableEvent 实例上注册一个只触发一次的监听函数,当事件下一次被 Fire 触发时调用 func,随后该监听自动失效,不再响应后续触发;返回一个 Connection 对象,可用于提前断开该监听。

参数类型说明
funcFunction第一次事件触发时调用的监听函数

返回值 Connection

Wait ​

签名:Wait(duration: Number?) -> Any

将当前协程挂起,直到该 BindableEvent 事件被触发。事件触发后协程恢复,并将触发时返回的数据作为 Wait 的返回值交给调用位置。duration 为可选的等待时长参数。

参数类型说明
durationNumber超时时间(秒)

返回值 Any

属性 ​

名称类型默认值说明
EventSignal-只读属性。表示 BindableEvent 对外暴露的事件信号对象,属于 Signal 类型,可用来查看或传递该事件对应的信号实例。