坐骑面板是喂养玩法的门面:资质条要一眼看出距离下一星还差多少,喂养按钮按下要有冷却反馈,成功提示配合音效形成正反馈。面板全部用前端控件搭建,数据经 7106 消息拉取,喂养请求走 7202 上行。喂养的正反馈循环是三层叠加:进度条动一下、文案跳一格、音效响一声,缺一层玩家的喂养动力就掉一截。
面板挂主界面层,资质条用 LoadingBar 承载成长进度,百分比文本随进度同步刷新,星级文案单独一行。
local panel = GUI:Node_Create(GUI:Attach_MainTop(), "MountPanel", 0, 0)
local bar = GUI:LoadingBar_Create(panel, "QualBar", 60, 120, "ui/qualbar", 1)
local pctText = GUI:Text_Create(panel, "QualText", 230, 116, 14, "#FFFFFF", "0%")
local starText = GUI:Text_Create(panel, "StarText", 60, 90, 16, "#FFD700", "白虎 一星")
SL:RegisterLuaNetMsg(7106, function(data)
GUI:LoadingBar_setPercent(bar, data.pct)
GUI:setText(pctText, data.pct .. "%")
GUI:setText(starText, "白虎 " .. data.star)
end)
喂养按钮点击后立即进入 10 秒冷却倒计时,倒计时文案挂在按钮下方,服务端回执到达前按钮置灰防连点。
local feedBtn = GUI:Button_Create(panel, "FeedBtn", 80, 240, "ui/feed")
local cdText = GUI:Text_Create(panel, "CdText", 90, 280, 12, "#9F9F9F", "")
local feeding = false
GUI:addOnClickEvent(feedBtn, function()
if feeding then return end
feeding = true
SL:SendNetMsg(7202, 1)
GUI:Text_COUNTDOWN(cdText, 10, function()
feeding = false
GUI:setText(cdText, "")
end, 1)
end)
资质条从 0% 到 95% 逐段核对刻度与文本一致;喂养连点 10 次只上行 1 次请求;冷却结束按钮恢复可点;断线重连后面板数据重拉。星级升星瞬间的资质条回退展示单独验证,升星后进度从满格回落的动画不穿帮。音效音量与背景音乐做混音适配,连续喂养二十次听感不发闷。面板在两种分辨率下的控件锚点各截一轮图核对,按钮与进度条不错位。监控面板打开率与喂养转化,打开不喂的流失点集中在资质条低于 20% 的账号。
LoadingBar_setPercent 传入字符串百分号格式时进度条直接归零,接口只认 0 到 100 的数值,服务端下发的 pct 字段先 tonumber 再入。喂养置灰在服务端拒绝时没有解锁,玩家卡在十秒冷却里以为按钮坏了,回执到达即解锁,冷却只做视觉反馈。Text_COUNTDOWN 的回调在面板销毁后触发一次访问已销毁文本报错,回调入口加面板存活判断。星级文案从服务端拼好后下发,前端不再自行拼接,两端文案口径统一改动只动一处。资质条贴图方向参数 direction 配错时进度从右往左倒着涨,视觉上像在扣资质,创建参数按表核对。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 装备回收商 NPC 每天按评分收购玩家的装备,裁决之杖、骨玉权杖按攻击、持久加权打分,榜上只要前五名。数…
实战应用:用在哪里 沙巴克攻城是全服行会战的最高舞台:攻方砸开城门、抢占皇宫,守方依托城墙与复活点反打。规则设计的关键是节奏…
实战应用:用在哪里 影分身玩法给法师职业补上生存短板:危急时刻召唤四个影分身分担仇恨,敌人需要在六格范围内分辨真身,猜错就浪…
实战应用:用在哪里 组队邀请、行会宣战这类关键信令丢了没有兜底,玩家只能反复手点,高峰期体验很差。重试机制给信令加确认回执:…
实战应用:用在哪里 新资料片上线首日预约量常是日常十倍,一口气全开会让数据库与登录网关同时过载。滚动开区把开区动作排成队列:…
实战应用:用在哪里 百人同屏的沙巴克外围战场,每个玩家每秒跑动会触发数次位置更新,全部即时下发时广播量随人数平方增长,网关先…