技能的威力靠升级喂出来:冰咆哮从 1 级练到 3 级,每一级要技能残页与金币,熟练度是升级的前置门槛。技能升级界面的要点是熟练度的进度呈现、升级消耗的明示与升级按钮的状态机。
---技能升级界面:熟练度与消耗
SkillUI.slots = {}
function SkillUI.show(skillId)
local info = SkillUI.infoOf(skillId)
local bar = GUI:LoadingBar_Create(SkillUI.win,
"prof_" .. skillId, 10, 40)
GUI:LoadingBar_setType(bar, 0)
local pct = math.floor(info.prof / info.maxProf * 100)
GUI:LoadingBar_setPercent(bar, pct)
local label = GUI:Text_Create(SkillUI.win, "prof_txt",
10, 70, 12, "#DDDDDD",
"熟练度 " .. info.prof .. "/" .. info.maxProf)
SkillUI.renderCost(info)
end
熟练度用进度条承载:当前的熟练与升级门槛的比值驱动填充,数字与进度条双呈现——练度到没到门槛,一眼可判。升级的消耗逐项列出:下一级需要技能残页 3 张加金币 2 万,材料行的红绿状态沿用打造台的齐备语义,两套界面的语言一致。
---升级按钮的三态与提交
function SkillUI.renderCost(info)
local canLevel = info.level < 3 and
info.prof >= info.maxProf
local btn = GUI:Button_Create(SkillUI.win,
"upgrade_" .. skillId, 10, 100)
GUI:Button_setTitleText(btn,
canLevel and "升级" or (info.level >= 3 and "已满级" or "熟练度不足"))
GUI:addOnClickEvent(btn, function()
if not canLevel then
SL:ShowSystemTips(info.level >= 3 and
"已满级" or "熟练度未满,先用技能攒熟练度")
return
end
SL:SendNetMsg(MSGID.SKILL_UP, skillId, 0, 0, "")
end)
end
升级按钮的三态状态机:满级置灰写已满级、熟练度未满置灰提示去练、可升级高亮——按钮的状态就是玩家的行动指南,不用读说明就知道下一步。提交走服务器的双校验:熟练度与材料的真实持有在服务器再验一遍,改包的越级升级在闸口被拒。升级成功的反馈三件套:技能图标的等级角标跳动、音效的上扬、属性面板的技能伤害刷新——升级的爽感由三路反馈叠加。熟练度的获取途径在界面标注:使用技能命中目标积累熟练度,实战是唯一的练法,挂机刷熟练的口子从一开始就不存在。
升级请求的客户端校验与服务器裁决的一致性测试,两端判断的差异逐项清零;升级的转化漏斗:熟练度满到点击升级的转化率,卡壳的点从数据里找。
熟练度的进度曾经不刷新,练满了按钮还灰着,刷新的事件挂在命中的回执。消耗的显示曾经用旧配置,材料调整后界面与实际扣取不符,配置的同源拉取。满级的判断曾经漏了等级上限的调整,策划调高上限后按钮还写已满级,上限从配置实时读取。
技能的升级曲线(门槛与消耗)进配置表,数值的调优不改界面。升级的界面与技能栏联动:右键技能图标直达升级页,动线零层级。残页的获取途径在材料行标注,升级的路标不全靠自己摸索。
本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 脚本的规范靠人盯盯不过来:命名风格漂移、全局变量乱用、缩进混着来——风格检查器把这些规则的执行自动化。提…
实战应用:用在哪里 拍卖行的出价是一场与时间的博弈:出价的按钮、倒计时的紧迫、截拍瞬间的悬念——拍卖界面的要点是出价的流程、…
实战应用:用在哪里 强化连败七次是什么体验?幸运值机制给失败的玩家一个隐性的承诺:每次失败累加幸运值,幸运值越高下一次的成功…
实战应用:用在哪里 审计日志的价值在于不可抵赖:被改过的日志比没有日志更危险——纠纷的追溯、内部的追责都建立在「日志没被动过…
实战应用:用在哪里 活动结束给 3 万玩家发奖励:一次性群发让邮件表瞬间多 3 万行、投递的队列堵塞正常的通信。批量邮件的分…
实战应用:用在哪里 面对面的交易是传奇最经典的交互:两人面对面、各自放入物品与金币、双方确认后成交。交易的协议要点是会话的建…