开始写游戏 --- 第十篇
今天主要写了这些东西:
昨天残留了一个问题,就是 背包装备 -> 穿戴 -> 背包穿戴的装备 没有消失的问题。
那么这里就是解决穿戴装备后,让穿戴的装备消失的代码修改差异:
顺便也优化了一些代码书写。
但是又 碰到一个问题 背包 -> 穿戴装备 -> 装备栏中被换下的装备 -> 被换下的装备加入背包 -> 被换下的装备无法弹出菜单 的问题:
原因有几个:
1、加入的装备类型不一致
2、场景类 逻辑代码顺序错误
解决的方案:
1、加入的装备类型不一致
加入的装备类型不一致,主要是之前写背包的 添加功能 时,使用的类是 ItemInfo的拷贝方法,用的是 new Iteminfo 来产生一个新的 对象。
而现在有了装备类 Equip ,那就有冲突了。之前的拷贝方法不能适用。
最后是通过反射,配合 字符串生成对象 的方式解决了。
TS通过 字符串 生成 对象,网上查了好几个了,最后是找到了更好的方案。
2、场景类 逻辑代码顺序错误
至于这个问题,是由于我个人的失误,写代码多了,脑子有点乱导致的。
图里的逻辑是正确的,之前我把这两句代码的顺序弄反了。。。
之前我写的逻辑是:
背包物品穿戴 -> 给角色装备面板组件穿上装备 -> 删除背包里穿戴的物品
应该是这个逻辑才对:
背包物品穿戴 -> 删除背包里穿戴的物品 -> 给角色装备面板组件穿上装备
这是目前正常的效果:
今天就先到这里。