
练习课程 : 回收系统 复选框
管理和传递通过复选框选择的多条数据
LOADING
include
引入模块(如UI.lua
、NPC.lua
),实现代码复用。UI.lua
中定义BG1
和BG2
背景模板,通过闭包传递参数(标题、角色对象)。NPC.lua
的main
函数分发,根据NPC ID调用不同逻辑。getBaseInfo
获取NPC名称,用于界面标题显示。_
(如npc_226.txt
)强制后端刷新。RELESE_print
输出变量值,快速定位问题。新三端文件夹
),快速访问常用脚本和配置文件。更新文件
目录后,通过表格工具同步数据。996M2
对应0807
引擎)。-- UI.lua local UI = {} function UI.BG1(actor, title) return string.format([[<image x=100 y=50 width=750 height=400 img="public/bg_750x400.png">]], title) end return UI
-- NPC.lua local NPC = {} function NPC.main(actor, npcID) local npcName = actor:getBaseInfo(npcID, 1) if npcID == 226 then actor:showUI(NPC.UI_Strengthen(actor, npcName)) end end return NPC
-- 动态按钮模板 function UI.Button(name, funcName, ...) return string.format([[<button link="query %s %s">%s</button>]], funcName, table.concat({...}, " "), name) end
getBaseInfo
参数错误,默认返回表ID而非名称。1
(如getBaseInfo(npcObj, 1)
)。0807
引擎,覆盖文件后通过工具同步数据。RELESE_print
输出中间值,发现format
拼接遗漏变量。UI:new()
管理多个实例)。layout
文件编辑,实现更复杂的动态UI(如进度条、动画效果)。通过这两节课,你已掌握模块化设计和事件分发框架的核心思路,后续可灵活应用于任务系统、商店等复杂功能。