local ui = {}
local _V = function(...) return SL:GetMetaValue(...) end
local FUNCQUEUE = {}
local TAGOBJ = {}
function ui.init(parent, __data__, __update__)
if __update__ then return ui.update(__data__) end
-- Create Scene
local Scene = GUI:Layou
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-04-06 16:34:41 |
👁️ 阅读: 0
根据浮生梦老师前端课程内容,要获取btok按钮的对象和名字,可以在接收到101消息时,通过已经创建的界面对象来获取。
在你的代码中,`n1_chuansong.ui`已经存储了界面中所有控件的引用。btok按钮是在`n1_chuansong:main()`函数中通过`self.ui = GUI:ui_delegate(parent)`获取的,所以可以直接通过`n1_chuansong.ui.btok`来访问按钮对象。
要获取按钮的名字,可以使用`GUI:Button_getTitleText()`函数。修改后的代码如下:
```lua
-- 接收来自服务端消息(点击NPC)
SL:RegisterLuaNetMsg(101, function(msgID, p1, p2, p3, msgData)
-- SL:print("=====||======", msgID, p1, p2, p3, msgData)
n1_chuansong.param = p1
-- 获取btok按钮对象
local btokButton = n1_chuansong.ui.btok
if btokButton then
-- 获取按钮名字(标题文本)
local buttonName = GUI:Button_getTitleText(btokButton)
SL:print("btok按钮对象:", btokButton)
SL:print("btok按钮名字:", buttonName)
else
SL:print("未找到btok按钮对象")
end
local handle = GUI:GetWindow(nil, n1_chuansong.name .. "bg")
SL:print("=======第1个====", handle)
end)
```
这里需要注意:
1. 确保`n1_chuansong:main()`函数已经被调用,界面已经创建,`n1_chuansong.ui`才有值
2. 使用`GUI:Button_getTitleText()`函数获取按钮的标题文本
3. 最好添加一个nil值判断,避免按钮对象不存在的情况
这样就能正确获取到btok按钮的对象和名字了。
根据浮生梦老师前端课程内容,要获取btok按钮的对象和名字,可以在接收到101消息时,通过已经创建的界面对象来获取。
在你的代码中,`n1_chuansong.ui`已经存储了界面中所有控件的引用。btok按钮是在`n1_chuansong:main()`函数中通过`self.ui = GUI:ui_delegate(parent)`获取的,所以可以直接通过`n1_chuansong.ui.btok`来访问按钮对象。
要获取按钮的名字,可以使用`GUI:Button_getTitleText()`函数。修改后的代码如下:
```lua
-- 接收来自服务端消息(点击NPC)
SL:RegisterLuaNetMsg(101, function(msgID, p1, p2, p3, msgData)
-- SL:print("=====||======", msgID, p1, p2, p3, msgData)
n1_chuansong.param = p1
-- 获取btok按钮对象
local btokButton = n1_chuansong.ui.btok
if btokButton then
-- 获取按钮名字(标题文本)
local buttonName = GUI:Button_getTitleText(btokButton)
SL:print("btok按钮对象:", btokButton)
SL:print("btok按钮名字:", buttonName)
else
SL:print("未找到btok按钮对象")
end
local handle = GUI:GetWindow(nil, n1_chuansong.name .. "bg")
SL:print("=======第1个====", handle)
end)
```
这里需要注意:
1. 确保`n1_chuansong:main()`函数已经被调用,界面已经创建,`n1_chuansong.ui`才有值
2. 使用`GUI:Button_getTitleText()`函数获取按钮的标题文本
3. 最好添加一个nil值判断,避免按钮对象不存在的情况
这样就能正确获取到btok按钮的对象和名字了。
← 返回问答库