Почему не срабатывает анимация?

Мне нужно включить анимацию отвечающую за прыжок, для этого я использую условие в котором при нажатии кнопки прыжка должна сработать анимация прыжка, но анимация все равно не переходит от анимации покоя, к анимации прыжка. Весь код отвечающий за анимацию находиться в Update
using UnityEngine;

public class PlayerJump : MonoBehaviour {

    private Rigidbody2D myBody;
    private Animator anim;

    private float jumpForce = 5f;

    private float max_Y = 4.4f;

    private string KNIFE_TAG = "Knife";

	// Use this for initialization
	void Awake () {
        myBody = GetComponent<Rigidbody2D>();
        anim = GetComponent<Animator>();
        
	}

    void Start() {
        GameManager.instance.ResetValues();
    }
	
	// Update is called once per frame
	void Update () {
        Jump();
        CheckBounds();
        if (Input.touchCount > 0 || Input.GetKeyDown(KeyCode.Space) || jumpForce > 0)
        {
            anim.SetBool("IsJump", true);
        }


    }

    void Jump() {
        if (Input.touchCount > 0)
        {
            myBody.velocity = new Vector2(0f, jumpForce);
        }
#if UNITY_EDITOR
        Debug.Log("Unity Editor");
        if (Input.GetKeyDown(KeyCode.Space))
        {
            myBody.velocity = new Vector2(0f, jumpForce);
        }
        
#endif

    }

    private void CheckBounds()
     {
        Vector3 temp = transform.position;

        if(temp.y > max_Y)
        {
            temp.y = max_Y;
        }
        transform.position = temp;
     }

	void OnTriggerEnter2D(Collider2D target) {
	
        if(target.tag == KNIFE_TAG) {

            Time.timeScale = 0f;
            GameManager.instance.RestartGame();

        }

	}

}
5fc7d34908bc4999212048.png
В самом unity настроено все правильно вроде как, думаю проблема в коде, но как видите я ее не нашел, и я здесь
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 2
@vabka Куратор тега C#
Токсичный
у вас
if (Input.GetKeyDown(KeyCode.Space))
        {
            myBody.velocity = new Vector2(0f, jumpForce);
        }

в #if UNITY_EDITOR завёрнут
Ответ написан
DanceM
@DanceM Куратор тега Unity
Кто хочет -ищет способ, кто не хочет -ищет причину
Ставьте везде, в каждом методе Debug.Log() и ищите, какое из условий у вас не выполняется. Вот тогда и будет ясно, что к чему. Это называется "отладка".
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы