本帖最后由 懒动行不行 于 2023-7-11 09:44 AM 编辑
CreateFrame
创建一个框架对象。
[Lua] 纯文本查看 复制代码 frame = CreateFrame(frameType [, name, parent, template, id])
参数
frameType
字符串型(string) - 框架的类型; 例如"Frame" (框架)or "Button"(按钮).
name
字符串型(string) ? - 要分配给框架的全局可访问名称,如使用匿名框架则为 nil。
parent
框架(frame)?🔗 - 分配给框架的父框架, 如果没有则为 nil ; 不能为字符串. 也可以用 Region:SetParent()设置。
template
字符串型(string)? - 要继承的虚拟XML模板的逗号分隔列表; 也可见 FrameXML模版完整清单 。
id
数字类型(number)? - 分配给框架的识别号. 可以用 Frame:SetID()设置。
返回值
frame框架(Frame)🔗 - 已创建的框架对象或者某一个其他框架类型对象。
框架类型
在the XML schema { ⁠, ⁠}中可以获得框架的可能类型:细节
示例- 显示一个纹理,该纹理也是UIParent的父对象,因此它将具有相同的UI比例,并在使用Alt-Z切换时隐藏。
[Lua] 纯文本查看 复制代码 local f = CreateFrame("Frame", nil, UIParent)
f:SetPoint("CENTER")
f:SetSize(64, 64)
f.tex = f:CreateTexture()
f.tex:SetAllPoints(f)
f.tex:SetTexture("interface/icons/inv_mushroom_11") [url=][/url]
[Lua] 纯文本查看 复制代码 local btn = CreateFrame("Button", nil, UIParent, "UIPanelButtonTemplate")
btn:SetPoint("CENTER")
btn:SetSize(100, 40)
btn:SetText("Click me")
btn:SetScript("OnClick", function(self, button)
print("You clicked me with "..button)
end) [Lua] 纯文本查看 复制代码 local m = CreateFrame("PlayerModel")
m:SetPoint("CENTER")
m:SetSize(200, 200)
m:SetDisplayInfo(21723) -- murloccostume.m2 - 注册正在触发的事件,如聊天消息以及何时开始/停止移动。
[Lua] 纯文本查看 复制代码 local function OnEvent(self, event, ...)
print(event, ...)
end
local f = CreateFrame("Frame")
f:RegisterEvent("CHAT_MSG_CHANNEL")
f:RegisterEvent("PLAYER_STARTED_MOVING")
f:RegisterEvent("PLAYER_STOPPED_MOVING")
f:SetScript("OnEvent", OnEvent)
补丁变更 Patch 2.0.1 (2006-12-05): 第4个参数, inheritFrame, 现在可以接受逗号分隔值.
Patch 1.11.0 (2006-06-19): 新增第4个参数, inheritFrame.[1]
Patch 1.10.0 (2006-03-28): 新增.[2]
其他参见
CreateFramePool([size=90%])
参考文献
|