死神vs火影吧 关注:55,595贴子:1,037,997
  • 17回复贴,共1

分支变身(WJK、SJK)的释放错误解决方案

只看楼主收藏回复

一楼祭度娘


IP属地:江苏1楼2019-10-03 14:36回复
    3.3更新后多出了一些新的概念,钢身、Buff、分支变身……
    分支变身在官方版中的体现是始解一护同时按下S+J+K,可以变身为半虚一护,但是这个按键方案是存在问题的。一般的JK键变身需要的条件大致为:
    0.该人物具有变身能力(废话)
    1.持有3条气
    2.人物处于闲置状态(指站立或J1的第一帧)
    而条件2在WJK、SJK这里是不同的:
    人物处于闲置状态(指除被打、被击飞、开场、胜利、死亡、失败等无法操作的情况以外的任意状态)
    意即WJK和SJK可以在技能释放的中途发动(会打断该技能),甚至可以在空中使用,比如始解一护可以藉由这个特殊情况打出诸如DJ+JJJ+SU+SJK+WU这样的奇葩连招。这可以当做一个特性,但我认为这是属于BUG的,那么当然是要想办法修复它啦!


    IP属地:江苏3楼2019-10-03 14:38
    回复
      从诸多的禁用技能效果的特技可以看出,人物的技能是可以用一些代码来“封印”的,那么便从这里切入:
      1.在非站立的情况下,禁用WJK
      2.在非站立或封印的情况下,禁用SJK
      简化一下逻辑:
      若处于站立,允许WJK和SJK
      若处于防御,允许SJK
      不在这两种情况内,两者都禁用


      IP属地:江苏4楼2019-10-03 14:38
      回复
        然后从代码角度分析:
        判断人物的状态,可以用parent。$fighter_ctrler。getTargetSP()。getCurrentTarget()。actionState所返回的数据进行判断,若返回了0,说明人物正处于站立状态;若返回了20,说明人物正处于防御状态;若返回其他数据,则人物处于其他状态。
        那么就好办了,在人物运行的每一帧都进行检测,如果满足条件,就可以使用某某技能,这就是我们要的结果。


        IP属地:江苏5楼2019-10-03 14:38
        回复


          IP属地:北京来自Android客户端6楼2019-10-03 14:40
          收起回复
            以下是成品的代码,放在人物的站立处便可起作用,有特殊需要的话可以自行修改
            import flash。events。Event; //导入事件类
            this。addEventListener(Event。ENTER_FRAME, bankaiWSLimitHandler, false, 0, true); //添加侦听器
            function bankaiWSLimitHandler(event: Event): void
            {
            //switch语句,用于条件判断,可以认为是简化版的if-else if-else语句 switch (parent。$fighter_ctrler。getTargetSP()。getCurrentTarget()。actionState)
            {
            case 0:
            parent。$mc_ctrler。getAction()。waiKaiW = "万解W";
            case 20:
            parent。$mc_ctrler。getAction()。waiKaiS = "万解S";
            break; //break语句,终止命令,此处情况“0”后未设置break,因此在情况“0”中也会运行情况“20”中的代码
            default:
            parent。$mc_ctrler。getAction()。waiKaiW = null;
            parent。$mc_ctrler。getAction()。waiKaiS = null;
            break;
            }
            }


            IP属地:江苏7楼2019-10-03 14:40
            回复
              补充:使用上述代码后可能会造成WJK难以按出,修改此处判定即可优化手感:
              default:
              if (parent。$fighter_ctrler。self。mc。currentFrameLabel != "砍技1" && parent。$fighter_ctrler。self。mc。currentFrameLabel != "砍技2")
              {
              parent。$mc_ctrler。getAction()。waiKaiW = null;
              parent。$mc_ctrler。getAction()。waiKaiS = null;
              }
              break;


              IP属地:江苏8楼2019-10-03 16:05
              回复
                看不懂嘤嘤嘤


                IP属地:安徽来自Android客户端9楼2019-10-03 19:05
                回复
                  甚至还有基础知识的注释,太贴心了。
                  顺带一提,始护不用S-JK的特性好像不能变身连,连KJ-J-JK-J都连不上


                  IP属地:广东来自Android客户端10楼2019-10-03 23:30
                  收起回复
                    努力理解……


                    IP属地:广东11楼2019-10-04 11:59
                    回复
                      某老鬼的花式变身连不服


                      IP属地:山西12楼2019-10-04 12:51
                      收起回复
                        有一个关于变身的问题,为啥白哉卍解可以打断瞬步,看了下瞬步里面没有纽带,其他人物都不行


                        IP属地:江苏13楼2019-10-04 18:52
                        收起回复