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

【界面UI】飘字对象池:伤害数字的渲染复用与生命周期

2026-09-23 16:57 作者:996 技术组 996引擎Lua教程传奇脚本

实战应用:用在哪里

战斗里的伤害飘字是创建销毁最频繁的 UI 元素:团战每秒几十个数字生成又消失。每个数字独立创建 label 控件的方式,GC 与节点树操作会吃掉 2~3ms 的帧时间。飘字对象池把 label 控件循环复用,配合数字缓动动画,战斗特效的 UI 开销可以压到 0.3ms 以内。

对象池的借还实现

lua

local pool = {}

local function acquire()
    for _, label in ipairs(pool) do
        if not label.inUse then
            label.inUse = true
            return label
        end
    end
    local label = GUI:Text_Create(fxLayer, "dmg_" .. os.clock(), 0, 0, 18, "#FFFFFF", "")
    label.inUse = true
    pool[#pool + 1] = label
    return label
end

local function showDamage(x, y, text)
    local label = acquire()
    GUI:Text_SetText(label, text)
    label:setPosition(x, y)
    label:runAction(cc.Sequence:create(
        cc.Spawn:create(cc.MoveBy:create(0.6, cc.p(0, 60)), cc.FadeOut:create(0.6)),
        cc.CallFunc:create(function() label.inUse = false end)
    ))
end

动画结束的 CallFunc 把控件归还池中,整个过程零创建零销毁。同屏 30 个飘字连续触发时,UI 线程耗时稳定在 0.3ms 左右,相比每次新建的方式帧耗时下降约 85%。

池的三条管理规则

池上限与溢出策略:池上限 40 个,全部占用时新的飘字直接丢弃(战斗中低价值的旧飘字本就不需要全部展示)。归位清理:归还时重置缩放与透明度(上个动画可能停在半透明状态),防止状态串场。场景切换清池:切场景时把池整体随界面层销毁重建,避免跨场景引用失效节点。

与伤害聚合的配合

飘字优化离不开聚合:同一目标 0.5 秒内的多次伤害合并为一条累计飘字,触发频率从每击一次降为每 0.5 秒一次,池的压力与视觉噪声同步下降。对象池、聚合、预算控制(特效预算表)三项合起来,战斗 UI 的性能上限就有了制度保障。

暴击与普通伤害的区分显示

暴击伤害使用更大字号、独立颜色与额外缩放动画,与普通伤害在一屏内可分辨。区分显示的数据来源是结算结果里的暴击标志,飘字接口按标志选择样式。样式差异是战斗反馈的重要组成,同一套池子按标志切样式即可,无需两套实现。

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

作者履历与出处

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

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

幂尔框架 · 实战干货 · 接口调用

LATEST ARTICLES

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

引擎触发未知暗殿镜像boss刷新

【引擎触发】未知暗殿:真假boss的镜像刷新触发设计

实战应用:用在哪里 未知暗殿是传奇最著名的陷阱地图:满屋子的“祖玛教主”,只有一只是真的,其余全是会秒人的假教主。镜像刷新触…

2026-09-23 18:43 996 技术组
玩法策划牧场经营养殖产出

【玩法策划】牧场经营:领地养殖与产出上缴设计

实战应用:用在哪里 行会领地只有一块挂名的地,成员没有归属感。牧场经营把领地变成养殖场:行会购入幼畜分给成员认养,认养者每日…

2026-09-23 18:43 996 技术组
玩法策划行会演出晚会评选

【玩法策划】行会演出:节日晚会的节目征集与评选设计

实战应用:用在哪里 节日活动都是打打杀杀,会乐器的玩家无处施展。行会演出把节日晚会做成玩法:会内征集节目(演奏、时装秀、脱口…

2026-09-23 18:43 996 技术组
运维发布应急预案分级响应

【运维发布】应急预案分级:P0 到 P3 事件的响应矩阵

实战应用:用在哪里 凌晨三点金币产出异常和白天聊天频道卡顿,显然不是一回事,但响应流程曾经一模一样。应急预案分级把事件分成四…

2026-09-23 18:43 996 技术组
后端接口祈福许愿奖励池全服

【后端接口】祈福许愿:全服祈福的奖励池接口

实战应用:用在哪里 全服许愿墙是最有烟火气的玩法:玩家写下心愿投入奖励池,许愿消耗许愿币,系统按周开奖,幸运者瓜分奖池大奖。…

2026-09-23 18:43 996 技术组
前端接口成就展示墙陈列荣誉

【前端接口】成就展示墙:个人成就的前端陈列

实战应用:用在哪里 成就系统做了几十项,玩家做完就翻篇,成就的荣誉感没有出口。成就展示墙给玩家一面可以布置的墙:已解锁的成就…

2026-09-23 18:43 996 技术组