Frame:RegisterEvent
该方法归属于 Frame 组件
注册一个框架用以监视 events.
[Lua] 纯文本查看 复制代码 success = frame:RegisterEvent(event)
参数
event字符串型(string) - 将对象注册为监视的事件的名称
返回值
success布尔型(boolean) - 如果框架成功为新的事件创建则为true,否则为false,例如框架已经注册到了该事件。
细节
组件通常会按照注册的顺序收到事件通知,但Frame:UnregisterEvent倾向于将最后注册的组件上移以填补空白。因此,不应依赖这种行为。
示例
[Lua] 纯文本查看 复制代码 -- 创建一个框架
local f = CreateFrame("Frame")
-- 注册框架并监视事件
f:RegisterEvent("CHAT_MSG_YELL")
f:RegisterEvent("CHAT_MSG_SAY")
-- 当他们发生时处理事件
f:SetScript("OnEvent", function(self, event, ...)
if (event == "CHAT_MSG_YELL") then
print("Argh, stop with the yelling!")
elseif (event == "CHAT_MSG_SAY") then
print("Thanks, that was much softer.")
end
end)
补丁变更 Patch 8.0.1 (2018-07-17): 注册一个不存在的事件现在会引发一个错误,而不是返回nil.[1]
其他参见
|