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

【界面UI】打造台界面:材料齐备的即时提示

2026-09-21 19:46 作者:996 技术组 界面UI

实战应用:用在哪里

打造一把裁决之杖要凑五种材料:玄铁 10 块、锻造图谱 1 张、金币 5 万——差哪样、去哪打,打造台界面的材料清单要回答得一清二楚。齐备提示的即时性决定打造的动线顺不顺。

清单的呈现

lua

---打造台:配方的材料清单
ForgeUI.recipe = nil

function ForgeUI.show(recipeId)
    local recipe = ForgeUI.recipes[recipeId]
    ForgeUI.recipe = recipe
    GUI:Text_Create(ForgeUI.win, "title", 10, 8, 14,
        "#FFD700", recipe.name)
    local list = GUI:ListView_Create(ForgeUI.win, "mats", 10, 40, 260, 200)
    ForgeUI.renderMats(recipe.mats)
end

---材料行:持有量与需求的比对
function ForgeUI.renderMats(mats)
    ForgeUI.clearRows()
    local allOk = true
    for i, m in ipairs(mats) do
        local have = ForgeUI.countOf(m.name)
        local row = GUI:Text_Create(ForgeUI.list, "mat" .. i,
            0, 0, 12,
            have >= m.count and "#66CC66" or "#FF6666",
            m.name .. " " .. have .. "/" .. m.count)
        if have < m.count then allOk = false end
    end
    ForgeUI.setReady(allOk)
end

材料的清单逐行比对持有量与需求:齐了的绿色、缺的红红,一行一色看得明明白白。全部齐备时打造按钮点亮,缺料时按钮置灰并标注缺的第一项——按钮的状态就是玩家的下一步指令。材料的获取途径悬停可见:玄铁的提示写着「矿区深层与黑市兑换」,缺料的玩家知道去哪补。

状态的联动

lua

---背包变更的即时刷新
SL:RegisterLuaNetMsg("BAGSYNC", function()
    if not ForgeUI.recipe then return end
    -- 背包变化时重算齐备状态
    ForgeUI.renderMats(ForgeUI.recipe.mats)
end)

---打造的提交:齐备校验的双保险
function ForgeUI.submit()
    local r = ForgeUI.recipe
    local allOk = ForgeUI.checkAll(r.mats)
    if not allOk then
        SL:ShowSystemTips("材料尚未集齐")
        return
    end
    SL:SendNetMsg(MSGID.FORGE_MAKE, r.id, 0, 0, "")
end

背包的同步消息驱动即时刷新:挖到一块玄铁的瞬间,材料行的红变绿、按钮的状态同步点亮——打造的爽感在集齐的那一下,UI 的即时反馈就是这一下的放大器。提交的服务器校验做双保险:客户端判断齐备后发送,服务端再验一遍材料的真实持有,改包的打造在服务器的闸口被拒。打造的成功率与保底在界面的明示:成功率 80%,失败返还一半材料——概率的透明让玩家敢把家底投进炉子。

验证与监控

材料齐备的判断与服务器校验的一致性测试,两端的判定差一份材料都是缺陷;打造按钮的状态刷新延迟监控,背包变更到按钮点亮的延迟不超过 200 毫秒。

踩坑记录

材料的计数曾经只查背包不查仓库,仓库里有货的玩家被误判缺料,计数的口径加仓库可选开关。刷新的监听曾经在界面关闭后仍挂着,关闭后的刷新空引用报错,监听的生命周期随界面。打造的提交曾经可以连点,双击发了两个请求出了两把武器,提交的节流与禁用。

上线要点

配方的材料与途径提示进配置表,新配方的接入只填表。打造的动效按成功失败分色:成功的金光与失败的暗淡,结果的反馈不靠小字。缺料的快捷购买在材料行直供跳转,打造与交易行的联动让缺料不再劝退。

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

作者履历与出处

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

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

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

LATEST ARTICLES

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

玩法策划答题行会

【玩法策划】行会篝火答题:行会社交活动的答题玩法设计

实战应用:用在哪里 行会活动集中在攻城战,日常缺乏轻量社交场景。行会篝火答题做行会固定社交活动:每周三、周日晚在行会驻地点燃…

2026-09-23 05:48 996 技术组
玩法策划答题科举

【玩法策划】科举答题:全服答题与殿试排名的玩法设计

实战应用:用在哪里 全服答题活动办过几期,参与的人不少但黏性不足,答完就散。科举答题把答题做成两段式:每天晚八点的乡试答题筛…

2026-09-23 05:48 996 技术组
界面UI短语栏聊天

【界面UI】快捷短语栏:战斗场景的快捷消息发送栏实现

n n n 实战应用:用在哪里 n战斗中打字沟通慢且危险,队伍协作靠喊话效率太低。快捷短语栏在屏幕底部提供八条可自定义的战斗…

2026-09-23 05:48 996 技术组
引擎触发宝箱龙脉

【引擎触发】龙脉宝箱:整点宝箱刷新与开启奖励的触发设计

n n n 实战应用:用在哪里 n龙脉区域的野外宝箱是散人玩家的每日福利:每逢整点在龙脉区域随机刷新十五个宝箱,分三档给不同…

2026-09-23 05:48 996 技术组
网络通信有序性包序

【网络通信】消息有序性:同一玩家的包序保证

实战应用:用在哪里 同一玩家的两条消息走了不同的处理路径,先发的后到,装备穿上的消息比脱下的消息晚处理,面板状态错乱。消息有…

2026-09-23 05:48 996 技术组
运维发布日志采样

【运维发布】日志采样:高流量日志的采样降耗设计

实战应用:用在哪里 战斗日志全量打印,一天写满一块硬盘,翻日志像大海捞针。日志采样按类别分策略:错误日志全量保留、行为日志按…

2026-09-23 05:48 996 技术组