我想在pc端也显示左上角组队和怪物显示切换的功能
🤖 回答引擎: 前端Lua |
🕒 时间: 2026-05-18 18:01:34 |
👁️ 阅读: 8
根据浮生梦老师前端课程内容,要在PC端显示左上角组队和怪物显示切换的功能,可以参考以下实现方案:
```lua
-- 创建主界面
local parent = GUI:Win_Create("GMMain", 0, 0, 0, 0, false, false, true, false, false, false, 1)
-- 获取屏幕尺寸
local winSizeW = SL:GetMetaValue("SCREEN_WIDTH")
local winSizeH = SL:GetMetaValue("SCREEN_HEIGHT")
-- 创建ScrollView作为容器
local ScrollView_1 = GUI:ScrollView_Create(parent, "ScrollView_1", 10, winSizeH - 50, 300, 200)
-- 创建组队显示设置项
local setNode_team = GUI:Layout_Create(ScrollView_1, "setNode_team", 0, 0, 280, 40, true)
GUI:Layout_setBackGroundColorOpacity(setNode_team, 255)
GUI:Layout_setBackGroundImage(setNode_team, "")
GUI:setAnchorPoint(setNode_team, 0, 1)
-- 创建文字描述
local text_team = GUI:Text_Create(setNode_team, "text_team", 16, 20, 16, "#FFFFFF", "组队显示")
GUI:Text_enableOutline(text_team, "#000000", 0)
GUI:Text_setTextVerticalAlignment(text_team, 1)
GUI:setAnchorPoint(text_team, 0, 0.5)
GUI:setContentSize(text_team, 140, 26)
GUI:setTouchEnabled(text_team, true)
-- 创建切换按钮(使用CheckBox实现)
local CheckBox_team = GUI:CheckBox_Create(setNode_team, "CheckBox_team", 190, 20,
"res/private/setting/off.png", "res/private/setting/on.png")
GUI:setAnchorPoint(CheckBox_team, 0, 0.5)
GUI:setContentSize(CheckBox_team, 68, 24)
-- 创建怪物显示设置项
local setNode_monster = GUI:Layout_Create(ScrollView_1, "setNode_monster", 0, 40, 280, 40, true)
GUI:Layout_setBackGroundColorOpacity(setNode_monster, 255)
GUI:Layout_setBackGroundImage(setNode_monster, "")
GUI:setAnchorPoint(setNode_monster, 0, 1)
-- 创建文字描述
local text_monster = GUI:Text_Create(setNode_monster, "text_monster", 16, 20, 16, "#FFFFFF", "怪物显示")
GUI:Text_enableOutline(text_monster, "#000000", 0)
GUI:Text_setTextVerticalAlignment(text_monster, 1)
GUI:setAnchorPoint(text_monster, 0, 0.5)
GUI:setContentSize(text_monster, 140, 26)
GUI:setTouchEnabled(text_monster, true)
-- 创建切换按钮
local CheckBox_monster = GUI:CheckBox_Create(setNode_monster, "CheckBox_monster", 190, 20,
"res/private/setting/off.png", "res/private/setting/on.png")
GUI:setAnchorPoint(CheckBox_monster, 0, 0.5)
GUI:setContentSize(CheckBox_monster, 68, 24)
-- 添加按钮点击事件
GUI:addOnClickEvent(CheckBox_team, function()
local isSelected = GUI:CheckBox_isSelected(CheckBox_team)
SL:print("组队显示状态:" .. (isSelected and "开启" or "关闭"))
-- 这里可以添加实际的组队显示逻辑
end)
GUI:addOnClickEvent(CheckBox_monster, function()
local isSelected = GUI:CheckBox_isSelected(CheckBox_monster)
SL:print("怪物显示状态:" .. (isSelected and "开启" or "关闭"))
-- 这里可以添加实际的怪物显示逻辑
end)
-- 设置初始状态(可以根据需要从服务器获取状态)
GUI:CheckBox_setSelected(CheckBox_team, true) -- 默认开启组队显示
GUI:CheckBox_setSelected(CheckBox_monster, true) -- 默认开启怪物显示
```
这个实现方案:
1. 在屏幕左上角创建了一个可滚动的容器
2. 分别添加了"组队显示"和"怪物显示"两个设置项
3. 使用CheckBox作为切换按钮,点击时会有选中/未选中状态切换
4. 每个设置项都有对应的点击事件处理函数
5. 默认状态下两个功能都是开启的
你可以根据需要调整位置、大小和样式。如果需要保存用户的设置状态,可以通过SL:SetMetaValue()和SL:GetMetaValue()来保存和读取设置。
← 返回问答库