CHUAN2 DEV ENGINE
996 正版授权研发中心 · 360 授权合作教学中心 · 抖音传奇直播合作授权 · 快手推广运营商授权
OFFICIAL LICENSED ACADEMY 查验官方授权证书 →
// 威海旷世互娱教学基地 · 技术文章
界面UI

【界面UI】技能冷却扇形:径向遮罩与扫描动画

2026-09-21 13:46 作者:996 技术组 0 阅读 界面UI

实战应用:用在哪里

技能冷却的径向扇形遮罩是战斗界面的标配:烈火剑法按下后,图标上方的暗色扇形顺时针扫过,扫完即可再次施放。圆形进度条控件让扇形冷却不需要逐帧手绘遮罩,角度驱动的呈现比直线进度条更贴合技能图标。

圆形进度条的创建

lua

---技能图标 + 圆形冷却遮罩
function SkillCD.build(slot, skillId, cdSeconds)
    local cd = GUI:ProgressTimer_Create(slot.node, "cd_" .. skillId, 0, 0, 22)
    GUI:ProgressTimer_setReverseDirection(cd, 1)
    GUI:ProgressTimer_setPercentage(cd, 100)
    slot.cdNode = cd
    slot.cdTotal = cdSeconds
    return cd
end

ProgressTimer 创建半径 22 像素的圆形进度条,覆盖在技能图标上层,setReverseDirection 设定顺时针扫描方向。满值 100 代表全遮蔽(刚施放),冷却推进时百分比匀速降向 0,扇形收拢完毕即冷却结束。遮罩用半透明黑,图标在遮罩下依稀可见,玩家对技能状态保持感知。

冷却的驱动与施放

lua

---点击施放与冷却推进
function SkillCD.bindCast(slot, skillId)
    GUI:addOnClickEvent(slot.btn, function()
        if slot.cooling then
            SL:ShowSystemTips("技能冷却中")
            return
        end
        slot.cooling = true
        SL:SendNetMsg(MSGID.SKILL_CAST, skillId, 0, 0, "")
        SL:Schedule(0.1, function()
            local left = slot.cdEnd - os.time()
            local pct = math.max(0, left / slot.cdTotal * 100)
            GUI:ProgressTimer_setPercentage(slot.cdNode, pct)
            if left <= 0 then slot.cooling = false end
        end)
    end)
end

点击施放后进入冷却态,Schedule 以 100 毫秒的步进刷新扇形角度,剩余秒数同步显示在图标中央。冷却进入 1 秒以内时秒数变红,施放的临门一脚给明确的视觉信号。野蛮冲撞这类短冷却技能的扇形转速快,与长冷却的大招形成节奏对比,玩家扫一眼技能栏就知道哪些技能转好了。

验证与监控

客户端冷却剩余与服务器技能 CD 的偏差统计,偏差超过 300 毫秒即为时钟基准不一致;扇形刷新的帧耗时监控,超过 2 毫秒说明控件层叠过多。

踩坑记录

扇形的旋转方向曾经与玩家预期相反,逆时针的扫描显得别扭,setReverseDirection 一参数修复。冷却的本地预演与服务器校验不同步,网络抖动时扇形扫完技能却施放失败,服务器回包驱动扇形回滚的补偿机制补上。百分比曾经除以总时长写反了分子分母,扇形越走越长,冷却结束后遮罩反而全开。

上线要点

冷却时长从技能表读取,界面层不写死任何技能数值。扇形遮罩的贴图支持换肤,节日主题换色不换结构。多段技能(烈火剑法的蓄力两段)的每段独立扇形,段与段的衔接用 100 毫秒的渐变过渡。

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

作者履历与出处

本文由 996 技术组基于 996 引擎官方知识库与浮生梦老师课程体系整理。团队长期从事传奇类引擎 Lua 后端逻辑、客户端界面与商业版本交付,内容以官方知识库与真实项目为出处,按版本持续修订。

← 返回文章地图返回研学路径

最新技术文章 · 实战干货

LATEST ARTICLES

全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →

玩法策划远征编制

【玩法策划】跨服远征编制:借鉴MMO远征的分层推进方案

实战应用:用在哪里 跨服远征分先锋、主力、后勤三队独立推进,三线全通合围BOSS。不同战力成员都有参与感。 策划要点与配置 …

2026-09-22 21:15 996 技术组 · 0 阅读
案例复盘副本难度

【案例复盘】副本超时惩罚倍率复盘

实战应用:用在哪里 副本限时挑战加入超时血量惩罚:超时后BOSS攻击递增。上线后BOSS攻击叠到十倍秒杀全队。 事故还原与补…

2026-09-22 21:15 996 技术组 · 0 阅读
界面UI神兽特效

【界面UI】混沌麒麟入场特效:神兽召唤的三段演出设计

实战应用:用在哪里 混沌麒麟召唤是全服高光时刻:暗幕聚合、裂缝展开、麒麟着陆三段演出各1.3秒。 三段式入场演出编排 围观镜…

2026-09-22 21:15 996 技术组 · 0 阅读
前端接口任务回看

【前端接口】任务对话历史回看:对话记录的界面查询实现

实战应用:用在哪里 任务对话一闪而过玩家想回顾。回看接口把对话按节点存档,面板翻阅全部对话记录。 对话存档与查询渲染 当前章…

2026-09-22 21:15 996 技术组 · 0 阅读
引擎触发懒加载地图

【引擎触发】挂机地图按需激活:地图实例懒加载设计

实战应用:用在哪里 服务器承载六十张地图,空闲地图白耗资源。按需激活,末人离开后六十秒休眠。 激活与休眠触发 休眠回收 验证…

2026-09-22 21:15 996 技术组 · 0 阅读
Lua实战坐骑洗炼

【Lua实战】坐骑资质洗炼与锁定:资质系统的Lua实现

实战应用:用在哪里 坐骑资质洗炼随机重滚五条属性,锁定满意的条目不再重滚,锁定越多消耗越大。 洗炼与锁定 锁定消耗递增 验证…

2026-09-22 21:15 996 技术组 · 0 阅读