Unity黑魂学习笔记P12 weapon combos

核心思想

通过动画事件来设置一个flag,以此来判断是否可以进行连招。然后在PlayerManager的Update中不断获取这个值。
在AnimatorHandler中设置

        public void EnableCombo()
        {
            anim.SetBool("CanDoCombo", true);
        }
        public void DisableCombo()
        {
            anim.SetBool("CanDoCombo", false);
        }

连招判断及释放

在InputHandler中进行判断是否能使用连招


            if (rb_Input)
            {
                if (playerManager.canDoCombo)
                {
                    comboFlag = true;//防止无限触发连招动画
                    playerAttacker.HandleWeaponCombo(playerInventory.rightWeapon);
                    comboFlag = false;
                }
                else
                {
                    if (playerManager.isInteracting) return;//防止无限触发攻击动画。
                    //if (playerManager.canDoCombo) return;
                    playerAttacker.HandleLigthAttack(playerInventory.rightWeapon);
                }
            }

在PlayerAttacker里面进行实际的连招释放

        public void HandleWeaponCombo(WeaponItem weapon)
        {
            if (inputHandler.comboFlag)
            {
                animatorHandler.anim.SetBool("CanDoCombo", false);//为了防止无限释放连招
                if (lastAttack == weapon.OH_Light_Attack_1)
                {
                    animatorHandler.PlayTargetAnimation(weapon.OH_Light_Attack_2, true);
                }
            }
        }

更好的方式不是一直用字符串,而是给一个List,后续我会进行改进的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值