-- 切页
function PlayerFrame_Look.ChangePage(data)
-- 自定义添加
SL:print("======起始=====")
SL:dump(data)
if data.index == 6 or data.index == 11 then
SL:print("===========|||||||||添加隐藏按钮", data.index, type(data.index))
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-06-15 12:43:58 |
👁️ 阅读: 7
在 `PlayerFrame_Look.ChangePage` 函数中添加发送消息到服务端的代码。根据浮生梦老师前端课程内容,可以使用 `SL:SendMsgToServer` 函数向服务端发送消息。
```lua
-- 切页
function PlayerFrame_Look.ChangePage(data)
-- 自定义添加
SL:print("======起始=====")
SL:dump(data)
if data.index == 6 or data.index == 11 then
SL:print("===========|||||||||添加隐藏按钮", data.index, type(data.index))
end
-- 自定义添加
-- 新增:当index为1或6时向服务端发送消息
if data.index == 1 or data.index == 6 then
local msgData = {
index = data.index,
pageId = PlayerFrame_Look._pageid,
time = os.time()
}
SL:SendMsgToServer("TEST_MSG", msgData)
SL:print("已向服务端发送测试消息,index=", data.index)
end
PlayerFrame_Look._lastPageid = PlayerFrame_Look._pageid
PlayerFrame_Look._pageid = data.index or SLDefine.PlayerPage.MAIN_PLAYER_LAYER_EQUIP
local btnList = PlayerFrame_Look._ui.Panel_btnList
local btnLastPage = GUI:getChildByName(btnList, "Button_" .. PlayerFrame_Look._lastPageid)
GUI:setLocalZOrder(btnLastPage, 0)
GUI:setTouchEnabled(btnLastPage, true)
GUI:Button_setBright(btnLastPage, true)
local textLastName = GUI:getChildByName(btnLastPage, "Text_name")
GUI:Text_setTextColor(textLastName, "#807256")
local btnNowPage = GUI:getChildByName(btnList, "Button_" .. PlayerFrame_Look._pageid)
GUI:setLocalZOrder(btnNowPage, 1)
GUI:setTouchEnabled(btnNowPage, false)
GUI:Button_setBright(btnNowPage, false)
local textNowName = GUI:getChildByName(btnNowPage, "Text_name")
GUI:Text_setTextColor(textNowName, "#e6e7a7")
if not data.init then
SL:CloseOtherPlayerPageUI(PlayerFrame_Look._lastPageid)
end
PlayerFrame_Look.CreateLayerPanelChild(data.child)
end
```
**代码说明:**
1. 在函数开头添加了条件判断,当 `data.index` 等于 1 或 6 时触发
2. 使用 `SL:SendMsgToServer("TEST_MSG", msgData)` 向服务端发送消息
3. 消息内容包含当前索引、页面ID和时间戳,你可以根据需要修改 `msgData` 的内容
4. 添加了打印日志,方便调试查看发送状态
**注意:**
- `SL:SendMsgToServer` 函数需要服务端有对应的消息处理逻辑
- 消息名称 "TEST_MSG" 可以自定义,但要确保服务端能识别
- 如果服务端需要特定的数据格式,请根据实际需求调整 `msgData` 的结构
在 `PlayerFrame_Look.ChangePage` 函数中添加发送消息到服务端的代码。根据浮生梦老师前端课程内容,可以使用 `SL:SendMsgToServer` 函数向服务端发送消息。
```lua
-- 切页
function PlayerFrame_Look.ChangePage(data)
-- 自定义添加
SL:print("======起始=====")
SL:dump(data)
if data.index == 6 or data.index == 11 then
SL:print("===========|||||||||添加隐藏按钮", data.index, type(data.index))
end
-- 自定义添加
-- 新增:当index为1或6时向服务端发送消息
if data.index == 1 or data.index == 6 then
local msgData = {
index = data.index,
pageId = PlayerFrame_Look._pageid,
time = os.time()
}
SL:SendMsgToServer("TEST_MSG", msgData)
SL:print("已向服务端发送测试消息,index=", data.index)
end
PlayerFrame_Look._lastPageid = PlayerFrame_Look._pageid
PlayerFrame_Look._pageid = data.index or SLDefine.PlayerPage.MAIN_PLAYER_LAYER_EQUIP
local btnList = PlayerFrame_Look._ui.Panel_btnList
local btnLastPage = GUI:getChildByName(btnList, "Button_" .. PlayerFrame_Look._lastPageid)
GUI:setLocalZOrder(btnLastPage, 0)
GUI:setTouchEnabled(btnLastPage, true)
GUI:Button_setBright(btnLastPage, true)
local textLastName = GUI:getChildByName(btnLastPage, "Text_name")
GUI:Text_setTextColor(textLastName, "#807256")
local btnNowPage = GUI:getChildByName(btnList, "Button_" .. PlayerFrame_Look._pageid)
GUI:setLocalZOrder(btnNowPage, 1)
GUI:setTouchEnabled(btnNowPage, false)
GUI:Button_setBright(btnNowPage, false)
local textNowName = GUI:getChildByName(btnNowPage, "Text_name")
GUI:Text_setTextColor(textNowName, "#e6e7a7")
if not data.init then
SL:CloseOtherPlayerPageUI(PlayerFrame_Look._lastPageid)
end
PlayerFrame_Look.CreateLayerPanelChild(data.child)
end
```
**代码说明:**
1. 在函数开头添加了条件判断,当 `data.index` 等于 1 或 6 时触发
2. 使用 `SL:SendMsgToServer("TEST_MSG", msgData)` 向服务端发送消息
3. 消息内容包含当前索引、页面ID和时间戳,你可以根据需要修改 `msgData` 的内容
4. 添加了打印日志,方便调试查看发送状态
**注意:**
- `SL:SendMsgToServer` 函数需要服务端有对应的消息处理逻辑
- 消息名称 "TEST_MSG" 可以自定义,但要确保服务端能识别
- 如果服务端需要特定的数据格式,请根据实际需求调整 `msgData` 的结构
← 返回问答库