课程入口
一、技能系统开发
- 技能学习与升级流程
- 初始无技能时学习第一个技能,佩戴后激活两个技能槽。
- 学习新技能(如幽灵技能)并确认升级。
- 通过材料审核升级技能等级(如从0级升到3级)。
- 材料审核逻辑
- 检测背包材料数量(如“降魂碎片”)。
- 不足时提示“材料不足”,满足条件则扣除材料并升级。
- 升级成功后发送提示“升级成功”。
- 技能属性管理
- 切换技能时清空临时属性,重新加载当前技能属性。
- 属性动态加载通过检测技能表(如
get_list
)实现。
二、称号系统与属性
- 称号佩戴逻辑
- 称号切换时触发属性更新(如“风神”称号)。
- 属性通过
check
检测动态加载到角色。
- 称号升级
- 升级需消耗特定材料(如“治愈和无敌”称号)。
- 材料不足时阻断升级流程。
三、背包与UI交互
- 背包物品遍历
- 动态生成物品图标网格布局(每行8个,自动换行)。
- 点击物品触发特效(缩放动画)并记录选中状态。
- 回收功能
- 批量检测背包中的可回收物品(如“降魂碎片”)。
- 按等级计算回收收益(如0级回收1个,1级回收3个)。
- 回收后刷新UI并发放奖励(如碎片兑换)。
- UI优化
- 文字显示当前数量(如“5/10”)。
- 按钮位置调整与触摸事件处理(防止穿透)。
四、错误调试与修复
- 常见报错
- 空值索引(如未获取到技能ID时加定时器判断)。
- 背包遍历逻辑修正(避免物品重复加载)。
- 组件事件绑定错误(如按钮未注册点击事件)。
- 关键修复点
- 技能切换时属性未清空的逻辑补全。
- 回收功能的数量计算错误(整除问题)。
- UI层级问题(背景穿透与触摸吞噬)。
五、代码优化
- 复用函数
- 封装
get_item_by_name
统一获取物品数量。
- 通用颜色设置方法(如
set_color
处理按钮/文本)。
- 表驱动配置
课后练习建议
- 实践任务
- 实现一个技能升级界面,包含材料检测与动态属性加载。
- 优化背包回收功能,支持多选批量操作。
- 思考题
- 如何避免切换技能时的属性残留问题?
- 若回收规则改为阶梯式(如1-5级不同比例),如何设计配置表?
备注:课程中涉及的前后端交互、数据分割(如split
)和动态布局是重点,建议结合代码注释复习。