懒动行不行 发表于 2023-7-10 11:26:25

【搬运Wowpedia】事件Events(五)

Frame:RegisterEvent
该方法归属于 Frame 组件
注册一个框架用以监视 events.


success = frame:RegisterEvent(event)

参数
event字符串型(string) - 将对象注册为监视的事件的名称

返回值
success布尔型(boolean) - 如果框架成功为新的事件创建则为true,否则为false,例如框架已经注册到了该事件。

细节

组件通常会按照注册的顺序收到事件通知,但Frame:UnregisterEvent倾向于将最后注册的组件上移以填补空白。因此,不应依赖这种行为。

示例

-- 创建一个框架
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)

补丁变更https://static.wikia.nocookie.net/wowpedia/images/c/c1/BattleForAzeroth-Logo-Small.png/revision/latest/scale-to-width-down/48?cb=20220421181442 Patch 8.0.1 (2018-07-17): 注册一个不存在的事件现在会引发一个错误,而不是返回nil.

其他参见

[*]The Handling events guide
[*]Frame:UnregisterEvent("event")
[*]Frame:RegisterUnitEvent("event", "unit1"[, "unit2"])
[*]Events







yuxi7yuxi 发表于 2023-7-10 11:34:35

高端大气上档次~!~系统工程啊,不是一两个帖子学得会

球刀 发表于 1 小时前


谢谢大神。学习了。。感谢你的分享666666
页: [1]
查看完整版本: 【搬运Wowpedia】事件Events(五)