Unity - A计划(永久有效期) 扫二维码继续学习 二维码时效为半小时

(196评价)
价格: 4049.00元
格斗游戏里攻击动画的问题
yeah虚拟小号发起了问答2017-09-22
1
回复
637
浏览

    public void OnNormalAttackClick()
    {
        
        if (animator.GetCurrentAnimatorStateInfo(0).IsName("PlayerAttackA") && isCanAttackB)
        {
            animator.SetTrigger("AttackB");
        }

        if (!animator.GetCurrentAnimatorStateInfo(0).IsName("PlayerAttackA"))
        {
            animator.SetTrigger("AttackA");
        }
    }

 

在这个点击事件里,我双击,就会触发两次AttackA

点一下再慢点一下触发AttackB是正常的,因为在时间区间才触发AttackB

我想让快速双击只触发一次AttackA,等攻击完毕后按下再出发AttackA

所以我判断了当动画播放时按下攻击按钮不触发AttackA

可是运行的时候双击还是会触发两次第一段普通攻击

是因为我点第二次的时候还没转换到攻击动画吗

请问老师该怎么去掉这个延时

虽然可以设置个定时器来控制间隔时间后才能触发,但是不想用这个方法

所有回复
  • siki 2017-09-23

    在这里定义一个枚举类型,判断下当前的状态,如果是normal就settrigger到attakca,并且修改枚举类型的状态,这样下次点击的时候就不处理了,在动画的末尾添加一个event,复位枚举状态

    还有-5条回复,点击查看
    你还没有登录,请先登录注册
发表回复
你还没有登录,请先 登录或 注册!