【浮生梦】TXT 回收系统
<p><a href="https://acnr1yklaaqz.feishu.cn/minutes/obcnft428q44f536tt728b78?from=from_copylink">课程入口1</a></p><p><a href="https://acnr1yklaaqz.feishu.cn/minutes/obcnga11zwa36iqx159n4b21?from=from_copylink">课程入口2</a></p>
<p><a href="https://acnr1yklaaqz.feishu.cn/minutes/obcn45mtbxl66t94xz226873?from=from_copylink">课程入口3</a></p>
<p><a href="https://acnr1yklaaqz.feishu.cn/minutes/obcne84f2mh8ffny89ng19jg?from=from_copylink">课程入口4</a></p>
<hr />
<h3><strong>1. 回收系统的形态分类</strong></h3>
<ul>
<li><strong>通过命令实现</strong>(如 <code>take bug items</code>):直接通过脚本命令处理回收逻辑,避免复杂的表格配置。</li>
<li><strong>通过表格配置</strong>:需要配置回收ID、名称等,灵活性较低但适合批量管理。</li>
<li><strong>自定义脚本实现</strong>:更灵活,适合动态需求,但需要手动处理逻辑。</li>
</ul>
<hr />
<h3><strong>2. 核心实现步骤</strong></h3>
<h4><strong>(1) NPC与界面设计</strong></h4>
<ul>
<li><strong>预加载</strong>:初始化回收系统的数据(如CSV表)。</li>
<li><strong>页面显示层</strong>:用Cocos Creator设计UI,包括分类标签、装备列表、复选框、全选/反选按钮等。</li>
<li><strong>逻辑层</strong>:处理用户交互(如点击分类、勾选装备、回收操作)。</li>
</ul>
<h4><strong>(2) 数据存储与读取</strong></h4>
<ul>
<li><strong>CSV表配置</strong>:存储回收物品的分类、名称、回收奖励(金币、绑金、矿石等)。</li>
<li><strong>变量管理</strong>:
<ul>
<li>用 <code>n变量</code> 或 <code>t变量</code> 临时存储复选框状态(如勾选了哪些装备)。</li>
<li>通过 <code>T11</code> 等变量持久化用户选择,避免重新打开界面时状态丢失。</li>
</ul>
</li>
</ul>
<h4><strong>(3) 动态界面生成</strong></h4>
<ul>
<li><strong>循环加载</strong>:根据CSV表的行数动态生成装备条目,避免硬编码。</li>
<li><strong>列表容器</strong>:用Cocos的列表容器(List)实现自适应排版,支持滑动查看多行物品。</li>
<li><strong>坐标计算</strong>:通过循环和偏移量动态调整每个条目位置。</li>
</ul>
<h4><strong>(4) 功能逻辑</strong></h4>
<ul>
<li><strong>全选/反选</strong>:遍历所有复选框,统一设置状态(1或0)。</li>
<li><strong>回收逻辑</strong>:根据勾选的物品ID,调用游戏命令(如扣除物品并发放奖励)。</li>
<li><strong>错误处理</strong>:检测变量是否存在、避免死循环(如 <code>goto</code> 和 <code>mine</code> 标签的合理使用)。</li>
</ul>
<hr />
<h3><strong>3. 关键代码片段</strong></h3>
<ol>
<li><strong>读取CSV表</strong>:
<pre><code>newread "QD/回收系统.csv"-- 加载配置表
</code></pre>
</li>
<li><strong>动态生成界面</strong>:
<pre><code>while n0 < 最大行数 do
inc(n0)
-- 创建复选框和文字,挂载到列表容器
end
</code></pre>
</li>
<li><strong>保存复选框状态</strong>:
<pre><code>ADD T11 菜单参数, "1,0,1,0"-- 存储勾选状态
</code></pre>
</li>
<li><strong>全选/反选逻辑</strong>:
<pre><code>if 复选框状态 == 1 then
复选框状态 = 0-- 反选
else
复选框状态 = 1-- 全选
end
</code></pre>
</li>
</ol>
<hr />
<h3><strong>4. 注意事项</strong></h3>
<ul>
<li><strong>性能优化</strong>:避免频繁操作大列表,可用 <code>INC</code> 逐步构建界面。</li>
<li><strong>变量冲突</strong>:合理规划 <code>n变量</code> 和 <code>t变量</code> 的使用范围,防止覆盖。</li>
<li><strong>界面刷新</strong>:通过 <code>goto</code> 或 <code>mine</code> 标签重新加载界面,确保状态同步。</li>
</ul>
<hr />
<h3><strong>5. 下节课预告</strong></h3>
<ul>
<li><strong>回收逻辑实现</strong>:处理物品扣除与奖励发放。</li>
<li><strong>批量操作优化</strong>:支持多页物品回收和异步加载。</li>
<li><strong>高级功能</strong>:自动回收规则、条件过滤(如仅回收特定品质装备)。</li>
</ul>
<hr />
<p>通过这节课,学员可以掌握动态UI生成、表格数据读取和状态管理的核心方法,为复杂系统开发打下基础。</p>
页:
[1]