💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## **Events** 有两种基本类型的事件。 * 第一种事件是游戏中发生某些事情。这可能是有人在说些什么,您的角色发生了什么,另一个角色的状态发生了变化等。游戏中几乎所有发生的事情都会引起事件。 * 第二种事件是对UI元素执行操作时(UI元素是屏幕上的某物-如按钮-并被亲切地称为小部件。我们将在下一节中进一步介绍)。第二种事件可能是单击您的包或按钮栏中的某物。 两种类型的事件之间存在技术上的差异,我们将在本教程进行时对此进行讨论。有关第一种事件的更多详细信息,请参阅[事件(API)](https://wow.gamepedia.com/Events_(API) "活动(API)"),有关第二种事件的详细信息,请参见[Widget handlers](https://wow.gamepedia.com/Widget_handlers "小部件处理程序")。 对事件的讨论非常重要,因为除了响应事件之外,游戏中什么也没有发生。 **重要提示:** 如果您碰巧编写了一段可以长时间运行(也许永远)的代码,那么游戏中将不会有新的事情发生。游戏将冻结,不再移动,并且用户将无法再单击任何东西。那将被归类为“不好”。 那么,如何告诉魔兽世界您对特定事件感兴趣?有两种方法:首先,您可以告诉WoW当特定事件发生时要运行哪段代码。这称为注册事件。其次,您可以让XML在操作UI元素时(例如单击它或将鼠标移到它上面)运行一段代码。这些响应事件而运行的代码称为“函数”(或更确切地说是“事件处理程序”)。 ## **函数** 有关功能的更多信息,请参见lua的**基础**教程或者[Lua 5.1参考手册](http://www.lua.org/manual/5.1/)或[Lua编程(第一版)](http://www.lua.org/pil/)。另请参见[Lua](https://wow.gamepedia.com/Lua "a")页面,其中列出了更多Lua资源。 对象: 引用xml中定义的框架或者控件 ``` frame =getgloabal('Framename') ``` 对象属性: ``` frame.attribute1 ``` 或者: ``` frame['attribute2'] ``` 对象函数: ``` frame:Show() ```