zoukankan      html  css  js  c++  java
  • 开始写游戏 --- 第十篇

    开始写游戏 --- 第十篇

      今天主要写了这些东西:

        

      昨天残留了一个问题,就是 背包装备 -> 穿戴 -> 背包穿戴的装备 没有消失的问题。

      那么这里就是解决穿戴装备后,让穿戴的装备消失的代码修改差异:

        顺便也优化了一些代码书写。

        

      但是又 碰到一个问题 背包 -> 穿戴装备 -> 装备栏中被换下的装备 -> 被换下的装备加入背包 -> 被换下的装备无法弹出菜单 的问题:

        

      原因有几个:

        1、加入的装备类型不一致

        2、场景类 逻辑代码顺序错误

      解决的方案:

        1、加入的装备类型不一致

          加入的装备类型不一致,主要是之前写背包的 添加功能 时,使用的类是 ItemInfo的拷贝方法,用的是 new Iteminfo 来产生一个新的 对象。

          而现在有了装备类 Equip ,那就有冲突了。之前的拷贝方法不能适用。

          最后是通过反射,配合 字符串生成对象 的方式解决了。

          TS通过 字符串 生成 对象,网上查了好几个了,最后是找到了更好的方案。

          

      

      2、场景类 逻辑代码顺序错误

        至于这个问题,是由于我个人的失误,写代码多了,脑子有点乱导致的。

        

        图里的逻辑是正确的,之前我把这两句代码的顺序弄反了。。。 

        之前我写的逻辑是:

          背包物品穿戴 ->  给角色装备面板组件穿上装备 -> 删除背包里穿戴的物品 

        应该是这个逻辑才对:

          背包物品穿戴 -> 删除背包里穿戴的物品 -> 给角色装备面板组件穿上装备

       

      这是目前正常的效果:

        

      今天就先到这里。

      

      

  • 相关阅读:
    Codeforces 1111D(退背包、排列组合)
    Codeforces 1152D(dp)
    UVaLive6443(线段树)
    UVaLive6435(dp)
    POJ1741(点分治)
    Codeforces 161D(树形dp)
    BZOJ2595(状压dp)
    关于spring java.lang.IllegalArgumentException: Name for argument type [java.lang.String] 的错误
    FingerPrint Fuzzy Vault Matlab实践
    Mybatis的ResultMap的使用
  • 原文地址:https://www.cnblogs.com/dmc-nero/p/11972493.html
Copyright © 2011-2022 走看看