首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在Unity中工作,我的Punch和jump动画不能完全播放。我如何修复我的代码?

我在Unity中工作,我的Punch和jump动画不能完全播放。我如何修复我的代码?
EN

Stack Overflow用户
提问于 2021-06-08 05:16:06
回答 1查看 23关注 0票数 0

我正在尝试让我的角色出击和跳跃。跳转可以工作,但动画并不总是播放。play要么根本不播放,要么在动画中途冻结。下面是我的代码。我认为错误出在StopPunch周围的行中(这些行不是我写的,而是在另一个类似问题的解决方案中找到的)。代码是正确的,我的错误可能是统一的吗?任何帮助都将不胜感激!

代码语言:javascript
复制
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class playermovement : MonoBehaviour {

    public CharacterController2D controller;
    public Animator animator;

    public float runSpeed = 40f;

    float horizontalMove = 0f;
    bool jump = false;
    bool crouch = false;
    bool punch = false;
  

    void Update()
    {
        horizontalMove = Input.GetAxisRaw("Horizontal") * runSpeed;

        animator.SetFloat("Speed", Mathf.Abs(horizontalMove));
        
        if (Input.GetButtonDown("Jump"))
        {
            jump = true;
            animator.SetBool("IsJumping", true);
        }

        if (Input.GetButtonDown("Crouch"))
        {
            crouch = true;

        }else if (Input.GetButtonUp("Crouch"))
        {
            crouch = false;

        }
        if (Input.GetButtonDown("Punch"))
        {
            punch = true;
            if (punch)
            {
                animator.SetBool("IsPunching", true);
                StartCoroutine(StopPunch(2.0));
            }
        } 
            void StopPunch (float waitTime)
        {
                yield WaitForSeconds (waitTime);
                animator.SetBool("IsPunching", false);
            }
        
        
    }
    
    

    public void OnLanding ()
    {
        animator.SetBool("IsJumping", false);
    }

    public void OnCrouching (bool isCrouching)
    {
        animator.SetBool("IsCrouching", isCrouching);
    }
    void FixedUpdate ()
    {
        // Move our character
        controller.Move(horizontalMove * Time.fixedDeltaTime, crouch, jump);
        jump = false;
        animator.SetBool("IsPunching", false);
       
    }
}
EN

回答 1

Stack Overflow用户

发布于 2021-06-08 05:56:23

如果你点击远离冲压的过渡,在检查器中,你应该会看到屏幕截图中的设置,这应该允许动画完成。我猜你需要使用其中的一些设置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67878777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档