五人小队打沃玛教主,队友的血量状态只能靠点头像逐个看,集火转火慢半拍。小队血条在屏幕侧边紧凑排布四条队友血条,名字与血量一目了然,掉线灰显、死亡红显,状态变化一眼可辨。
四组名字文本加精简血条纵向排布,控件在进队时创建、离队时清空,位置固定在屏幕左上不遮挡战斗。
local bar = GUI:Node_Create(GUI:Attach_MainTop(), "TeamBar", 20, 300)
local rows = {}
for i = 1, 4 do
rows[i] = {
name = GUI:Text_Create(bar, "TmN" .. i, 0, (i - 1) * 26, 12, "#FFFFFF", ""),
hp = GUI:LoadingBar_Create(bar, "TmH" .. i, 70, (i - 1) * 26 + 2, "ui/hpmini", 1),
}
end
队友数据经 7350 消息批量推送,血量实时刷新,掉线成员血条转灰、名字追加离线标记,恢复后自动复原。
SL:RegisterLuaNetMsg(7350, function(data)
for i = 1, 4 do
local m = data.mates[i]
if m then
GUI:setText(rows[i].name, m.nm .. (m.offline and "(离线)" or ""))
GUI:LoadingBar_setPercent(rows[i].hp, m.hp)
GUI:LoadingBar_setColor(rows[i].hp, m.offline and "#666666" or "#3CDA5C")
else
GUI:setText(rows[i].name, "")
GUI:LoadingBar_setPercent(rows[i].hp, 0)
end
end
end)
四人满编的血量推送逐条核对,血条百分比与实际血量误差不超过 1%;掉线灰显与恢复复原各验证一轮;离队成员的血条即时清空。死亡成员的血条转为红色并停止增长,复活后颜色与数值同步复位。血条低于三成时自动闪烁提醒集火治疗,闪烁频率每秒两次不刺眼。血条控件与目标框的血条共用一套贴图,内存与美术资源各省一份。监控血条推送频率,低于每秒一次会有延迟感,高于五次每秒则浪费带宽,按队伍状态动态调节。
血条颜色直接用十六进制串赋值时多了个井号,setPercent 正常但颜色不生效,格式按接口要求逐字符核对。名字超过四字挤占了血条起点,血条整体右移错位,名字按显示宽度截断加省略号。队员中途入队时槽位分配按序号复用,退出队员的槽位没有释放导致新队友不显示,入队与离队都要同步维护槽位表。推送频率最初每次血量变化都推,团战时每秒上百条消息,节流到每 100 毫秒合并推送一次后恢复流畅。队伍解散时只清了控件没停推送,已解散队伍的血条仍在跳,推送监听随解散一并注销。血条背景底板透明度过高,深色地图上刻度看不清,底板加了一层半透明衬底。
全站技术干货持续更新:996 引擎 / Lua 实战帖,语法、参数与示例一篇讲透。进入文章地图 · 查看全部 →
实战应用:用在哪里 周五晚高峰副本掉线事故:三百支队伍的成员在副本里掉线后无法重连,只能等副本超时踢出,客服工单一夜积压九百…
实战应用:用在哪里 行会活动集中在晚上八点的攻城战,白天在线的成员没有参与感。行会运镖做成轻协作玩法:行会每周两趟集体运镖,…
实战应用:用在哪里 沙巴克城主每周可以打出两张政策牌影响全服:双倍经验日让全场经验翻倍、怪物狂暴日让野怪攻击提升三成、和平协…
实战应用:用在哪里 故障演练总演同一套拔线流程,队伍熟练了但新故障类型没覆盖。演练题库把历史故障转化成十个演练场景,每季度随…
实战应用:用在哪里 排行榜界面打开时开启定时刷新、关闭时忘了停,玩家关了界面推送还在后台跑。界面生命周期把打开、刷新、销毁三…
实战应用:用在哪里 沃玛教主被击杀后四小时原地重生,重生前一分钟全服预告,教主重生点位在窝点周围五格内随机偏移,蹲点守尸的策…