魔兽世界插件开发_带关闭窗口按钮X的
-- 创建主插件窗口
local MyButtonFrame = CreateFrame("Frame", "MyButtonFrame", UIParent, "BackdropTemplate")
MyButtonFrame:SetSize(200, 100)
MyButtonFrame:SetPoint("CENTER")
MyButtonFrame:SetBackdrop({
bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background",
edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border",
tile = true, tileSize = 32, edgeSize = 32,
insets = { left = 11, right = 12, top = 12, bottom = 11 }
})
MyButtonFrame:SetMovable(true)
MyButtonFrame:EnableMouse(true)
MyButtonFrame:RegisterForDrag("LeftButton")
MyButtonFrame:SetScript("OnDragStart", function(self) self:StartMoving() end)
MyButtonFrame:SetScript("OnDragStop", function(self) self:StopMovingOrSizing() end)
-- 创建关闭按钮
local CloseButton = CreateFrame("Button", "MyButtonFrameCloseButton", MyButtonFrame, "UIPanelCloseButton")
CloseButton:SetSize(32, 32)
CloseButton:SetPoint("TOPRIGHT", MyButtonFrame, "TOPRIGHT", -5, -5)
-- 创建主按钮
local MyButton = CreateFrame("Button", "MyButton", MyButtonFrame, "UIPanelButtonTemplate")
MyButton:SetSize(80, 22)
MyButton:SetPoint("CENTER")
MyButton:SetText("Click Me!")
MyButton:SetScript("OnClick", function()
print("按钮被点击了!Hello, World!")
end)
-- 显示框架
MyButtonFrame:Show()
-- -- 创建图标按钮--创建关闭大ui窗口后再右上角显示方形图标的代码
-- local IconButton = CreateFrame("Button", "MyIconButton", UIParent, "UIPanelButtonTemplate")
-- IconButton:SetSize(32, 32)
-- IconButton:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -10, -10) -- 设置位置
-- IconButton:SetNormalTexture("Interface\\Icons\\INV_Misc_QuestionMark") -- 设置图标纹理
-- IconButton:SetScript("OnClick", function()
-- MyButtonFrame:Show() -- 显示插件窗口
-- IconButton:Hide() -- 隐藏图标按钮
-- end)
-- IconButton:Hide() -- 初始隐藏图标按钮
-- -- 关闭按钮点击事件
-- CloseButton:SetScript("OnClick", function()
-- MyButtonFrame:Hide() -- 隐藏插件窗口
-- IconButton:Show() -- 显示图标按钮
-- end)
-- 创建一个没有模板的圆形图标按钮
local IconButton = CreateFrame("Button", "MyIconButton", UIParent)
IconButton:SetSize(17, 17)
IconButton:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -0, -85) -- 设置位置
-- 设置按钮的图标纹理
local iconTexture = IconButton:CreateTexture(nil, "BACKGROUND")
iconTexture:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark")
iconTexture:SetAllPoints(IconButton)
-- 设置圆形Mask
local mask = IconButton:CreateMaskTexture()
mask:SetTexture("Interface\\CHARACTERFRAME\\TempPortraitAlphaMask", "CLAMPTOBLACKADDITIVE", "CLAMPTOBLACKADDITIVE")
mask:SetAllPoints(IconButton)
iconTexture:AddMaskTexture(mask)
-- 设置按钮点击事件
IconButton:SetScript("OnClick", function()
MyButtonFrame:Show() -- 显示插件窗口
IconButton:Hide() -- 隐藏图标按钮
end)
IconButton:Hide() -- 初始隐藏图标按钮
-- IconButton:Show() -- 显示图标按钮
-- 关闭按钮点击事件
CloseButton:SetScript("OnClick", function()
MyButtonFrame:Hide() -- 隐藏插件窗口
IconButton:Show() -- 显示图标按钮
end)
-- 创建主插件窗口
local MyButtonFrame = CreateFrame("Frame", "MyButtonFrame", UIParent, "BackdropTemplate")
MyButtonFrame:SetSize(200, 100) -- 设置窗口大小
MyButtonFrame:SetPoint("CENTER") -- 设置窗口位置在屏幕中央
MyButtonFrame:SetBackdrop({
bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background", -- 背景纹理
edgeFile = "Interface\\DialogFrame\\UI-DialogBox-Border", -- 边框纹理
tile = true, tileSize = 32, edgeSize = 15, -- 背景和边框的尺寸
insets = { left = 5, right = 5, top = 5, bottom = 5 } -- 边距
})
MyButtonFrame:SetMovable(true) -- 允许窗口移动
MyButtonFrame:EnableMouse(true) -- 允许鼠标操作
MyButtonFrame:RegisterForDrag("LeftButton") -- 注册拖动事件
MyButtonFrame:SetScript("OnDragStart", function(self) self:StartMoving() end) -- 开始拖动
MyButtonFrame:SetScript("OnDragStop", function(self) self:StopMovingOrSizing() end) -- 停止拖动
-- 创建关闭按钮
local CloseButton = CreateFrame("Button", "MyButtonFrameCloseButton", MyButtonFrame, "UIPanelCloseButton")
CloseButton:SetSize(32, 32) -- 关闭按钮大小
CloseButton:SetPoint("TOPRIGHT", MyButtonFrame, "TOPRIGHT", -5, -5) -- 关闭按钮位置在窗口右上角
-- 创建主按钮
local MyButton = CreateFrame("Button", "MyButton", MyButtonFrame, "UIPanelButtonTemplate")
MyButton:SetSize(80, 22) -- 主按钮大小
MyButton:SetPoint("CENTER") -- 主按钮位置在窗口中心
MyButton:SetText("Click Me!") -- 主按钮文本
MyButton:SetScript("OnClick", function()
print("按钮被点击了!Hello, World!") -- 按钮点击时输出信息
end)
-- 显示主插件窗口
MyButtonFrame:Show()
-- 以下是创建圆形图标按钮的代码
-- 创建一个没有模板的圆形图标按钮
local IconButton = CreateFrame("Button", "MyIconButton", UIParent)
IconButton:SetSize(17, 17) -- 图标按钮大小
IconButton:SetPoint("TOPRIGHT", UIParent, "TOPRIGHT", -0, -85) -- 图标按钮位置在屏幕右上角
-- 设置按钮的图标纹理
local iconTexture = IconButton:CreateTexture(nil, "BACKGROUND")
iconTexture:SetTexture("Interface\\Icons\\INV_Misc_QuestionMark") -- 图标纹理
iconTexture:SetAllPoints(IconButton) -- 图标填充整个按钮
-- 设置圆形Mask
local mask = IconButton:CreateMaskTexture()
mask:SetTexture("Interface\\CHARACTERFRAME\\TempPortraitAlphaMask", "CLAMPTOBLACKADDITIVE", "CLAMPTOBLACKADDITIVE")
mask:SetAllPoints(IconButton) -- 遮罩填充整个按钮
iconTexture:AddMaskTexture(mask) -- 将遮罩应用到图标纹理
-- 设置图标按钮点击事件
IconButton:SetScript("OnClick", function()
MyButtonFrame:Show() -- 显示插件窗口
IconButton:Hide() -- 隐藏图标按钮
end)
IconButton:Hide() -- 初始隐藏图标按钮
-- 关闭按钮点击事件
CloseButton:SetScript("OnClick", function()
MyButtonFrame:Hide() -- 隐藏插件窗口
IconButton:Show() -- 显示图标按钮
end)