文件路径:player/player_equip_node_win32 脚本内容如下
local ui = {}
function ui.init(parent)
-- Create Node
local Node = GUI:Node_Create(parent, "Node", 0.00, 0.00)
GUI:setChineseName(Node, "玩家装备_场景")
GUI:setAnchorPoint(Node, 0.50, 0.50)
GUI:setTag(Node,
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-30 11:01:37 |
👁️ 阅读: 4
要在 GUIUtil.lua 中获取 `bt_shizhuang` 按钮并添加功能,可以按照以下步骤操作:
```lua
-- 首先获取父节点(Node)
local parentNode = GUI:getChildByName(parent, "Node") -- 假设parent是传入的参数
if GUI:Win_IsNull(parentNode) then
SL:print("未找到Node节点")
return
end
-- 通过ID获取bt_shizhuang按钮
local btnShizhuang = GUI:getChildByName(parentNode, "bt_shizhuang")
if GUI:Win_IsNull(btnShizhuang) then
SL:print("未找到bt_shizhuang按钮")
return
end
-- 设置按钮点击事件
GUI:addOnClickEvent(btnShizhuang, function()
SL:print("时装按钮被点击啦!")
-- 这里可以添加具体的功能代码,例如:
-- 1. 显示时装界面
-- 2. 切换时装显示状态
-- 3. 发送网络请求等
end)
-- 如果需要设置按钮的其他属性
GUI:Button_setTitleText(btnShizhuang, "我的时装") -- 修改按钮文本
GUI:Button_setTitleColor(btnShizhuang, "#FFD700") -- 修改文本颜色为金色
GUI:Button_setTitleFontSize(btnShizhuang, 16) -- 修改字体大小
-- 设置按钮可见性(如果需要)
GUI:setVisible(btnShizhuang, true)
-- 设置按钮可点击状态
GUI:setTouchEnabled(btnShizhuang, true)
-- 获取按钮位置信息
local btnPos = GUI:getPosition(btnShizhuang)
SL:print("按钮位置:x=" .. btnPos.x .. ", y=" .. btnPos.y)
```
**关键函数说明:**
1. **`GUI:getChildByName(parent, childName)`** - 通过名称获取子控件
2. **`GUI:Win_IsNull(widget)`** - 判断控件是否为空(重要:使用前必须检查)
3. **`GUI:addOnClickEvent(button, callback)`** - 添加点击事件监听
4. **`GUI:Button_setTitleText(button, text)`** - 设置按钮文本
5. **`GUI:Button_setTitleColor(button, color)`** - 设置按钮文本颜色
6. **`GUI:setVisible(widget, value)`** - 设置控件可见性
7. **`GUI:setTouchEnabled(widget, value)`** - 设置控件可触摸状态
8. **`GUI:getPosition(widget)`** - 获取控件位置(返回table)
**注意事项:**
- 确保在调用任何GUI函数前,控件对象不为空
- 点击事件回调函数中可以添加任何需要的业务逻辑
- 按钮文本颜色使用十六进制颜色代码格式
- 所有打印使用 `SL:print()` 而不是 `print()`
← 返回问答库