魔兽世界插件开发_带关闭窗口按钮X的

魔兽世界插件开发_带关闭窗口按钮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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值