用途:面向《魔兽世界》正式服(Retail)插件开发,整理 Widget API 的核心控件类型、常用方法与写法模式,便于创建和操作 UI 框架、纹理、字体、动画、按钮、输入框、滑块、状态条、冷却、模型框体及提示框等。适用需要 CreateFrame、SetPoint 锚定、Show/Hide、事件注册与脚本处理器的场景。
主要能力与结构:文档给出控件层级(FrameScriptObject→Object→ScriptObject→ScriptRegion→Region/Frame 及 Texture、FontString、Button、EditBox、StatusBar、Cooldown、GameTooltip、Model、ModelScene、AnimationGroup 等),并按主题拆分参考文件:BASE-WIDGETS.md(基础类型、锚定、输入、脚本、可见性)、TEXTURE-WIDGETS.md、FONT-WIDGETS.md、ANIMATION-WIDGETS.md、FRAME-WIDGETS.md、FRAME-CONTROLS.md、ADVANCED-WIDGETS.md。
使用方式:先确定控件类型,查层级找其基类,再打开对应参考文件查看核心方法与示例;完整方法列表见来源页 https://warcraft.wiki.gg/wiki/Widget_API,脚本处理器见 https://warcraft.wiki.gg/wiki/Widget_script_handlers,XML 架构见 https://warcraft.wiki.gg/wiki/XML_schema。内容截至补丁 12.0.0(Retail)。
典型模式:CreateFrame 后 SetSize 与 SetPoint 锚定;用 CreateFontString 添加文字;RegisterEvent 配合 SetScript("OnEvent");按钮使用 UIPanelButtonTemplate 与 RegisterForClicks、OnClick;通过 CreateAnimationGroup 与 Alpha 动画做淡入淡出;亦可用 XML 定义 Frame、Anchors 与 Scripts。
限制与注意:API 参考中带 #protected、#secureframe、#nocombat、#restrictedframe、#anchorfamily 等标记的方法存在调用限制(如仅限暴雪安全代码、战斗中不可调用或对受保护框体返回 nil)。本文档为精编而非全量,完整列表需查阅上述来源页。