SL:print("BUFFjiazai")
MainLeftTop = {}
-- local w,h =SL:GetMetaValue("SCREEN_WIDTH"),SL:GetMetaValue("SCREEN_HEIGHT")
-- local root1 = GUI:Win_Create("win",w/2,h/2)
function MainLeftTop.main()
local parent = GUI:Attach_LeftTop()
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-05 15:26:28 |
👁️ 阅读: 4
从代码来看,你创建按钮的父节点使用的是 `GUI:Attach_LeftTop()`,这个函数返回的是左上方挂接点。但你的按钮坐标设置为 `(100, 0)`,并且设置了锚点为 `(1, 1)`(右上角对齐)。
主要问题可能出在**锚点设置**和**坐标计算**上:
1. 锚点设置为 `(1, 1)` 意味着控件的右上角会定位到坐标点,而你的坐标是 `(100, 0)`,这可能导致按钮显示在屏幕外
2. 没有设置按钮的可见大小
建议修改方案:
```lua
SL:print("BUFF加载")
MainLeftTop = {}
function MainLeftTop.main()
local parent = GUI:Attach_LeftTop()
-- 创建按钮
local Button_buff = GUI:Button_Create(parent, "Button_change", 0, 0, "res/buff_icon/1.png")
-- 设置锚点为左上角对齐
GUI:setAnchorPoint(Button_buff, 0, 1)
-- 设置按钮大小(重要!)
GUI:setContentSize(Button_buff, 50, 50)
-- 设置按下状态图片
GUI:Button_loadTexturePressed(Button_buff, "res/buff/btn_buffzy_02.png")
-- 点击事件
GUI:addOnClickEvent(Button_buff, function()
GUI:Win_Open("buff")
end)
-- 打印调试信息
SL:print("BUFF按钮创建完成")
end
return MainLeftTop
```
关键修改点:
1. 将锚点改为 `(0, 1)` - 左上角对齐
2. 坐标改为 `(0, 0)` - 从左上角开始
3. 添加了 `GUI:setContentSize()` 设置按钮大小
4. 增加了调试打印
如果还是不行,可以尝试:
- 检查图片路径是否正确
- 使用 `GUI:setVisible(Button_buff, true)` 确保可见性
- 在创建后打印按钮对象:`SL:print("按钮对象:", Button_buff)`
这样修改后,按钮应该会显示在屏幕左上角了。如果还有问题,可能是图片路径或资源加载的问题。
从代码来看,你创建按钮的父节点使用的是 `GUI:Attach_LeftTop()`,这个函数返回的是左上方挂接点。但你的按钮坐标设置为 `(100, 0)`,并且设置了锚点为 `(1, 1)`(右上角对齐)。
主要问题可能出在**锚点设置**和**坐标计算**上:
1. 锚点设置为 `(1, 1)` 意味着控件的右上角会定位到坐标点,而你的坐标是 `(100, 0)`,这可能导致按钮显示在屏幕外
2. 没有设置按钮的可见大小
建议修改方案:
```lua
SL:print("BUFF加载")
MainLeftTop = {}
function MainLeftTop.main()
local parent = GUI:Attach_LeftTop()
-- 创建按钮
local Button_buff = GUI:Button_Create(parent, "Button_change", 0, 0, "res/buff_icon/1.png")
-- 设置锚点为左上角对齐
GUI:setAnchorPoint(Button_buff, 0, 1)
-- 设置按钮大小(重要!)
GUI:setContentSize(Button_buff, 50, 50)
-- 设置按下状态图片
GUI:Button_loadTexturePressed(Button_buff, "res/buff/btn_buffzy_02.png")
-- 点击事件
GUI:addOnClickEvent(Button_buff, function()
GUI:Win_Open("buff")
end)
-- 打印调试信息
SL:print("BUFF按钮创建完成")
end
return MainLeftTop
```
关键修改点:
1. 将锚点改为 `(0, 1)` - 左上角对齐
2. 坐标改为 `(0, 0)` - 从左上角开始
3. 添加了 `GUI:setContentSize()` 设置按钮大小
4. 增加了调试打印
如果还是不行,可以尝试:
- 检查图片路径是否正确
- 使用 `GUI:setVisible(Button_buff, true)` 确保可见性
- 在创建后打印按钮对象:`SL:print("按钮对象:", Button_buff)`
这样修改后,按钮应该会显示在屏幕左上角了。如果还有问题,可能是图片路径或资源加载的问题。
← 返回问答库