Как добавить альтернативные направления холостого хода в нисходящей игре - PullRequest
0 голосов
/ 24 марта 2020

Я работаю над игрой сверху вниз, и спрайт и анимация моего игрока закончены. Когда нет ввода, спрайт должен войти в состояние ожидания, но в том же направлении. У меня есть разные наборы анимации для движения и холостого хода, и я не знаю, как кодировать в режиме ожидания анимации для направления в разные стороны. Спрайт по-прежнему оживляет, но не перемещается после освобождения ввода.

Я не знаю, правильно ли я это объяснил, поэтому в качестве примера скажу, что игрок идет налево. Клавиша со стрелкой влево отпущена, поэтому больше нет ввода, и спрайт перестает двигаться. Однако анимация продолжается. Я хочу остановить эту анимацию и ввести другую анимацию, которая используется только тогда, когда нет ввода, но в то же время направлена ​​в том же направлении, что и последний ввод. Вот мой код:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerMovement : MonoBehaviour
{

    public float moveSpeed = 5f;

    public Rigidbody2D rb;
    public Animator animator;

    Vector2 movement;

    // Update is called once per frame
    void Update()
    {
        movement.x = Input.GetAxisRaw("Horizontal");
        movement.y = Input.GetAxisRaw("Vertical");
        movement = movement.normalized;

        if (movement != Vector2.zero)
        {
            animator.SetFloat("Horizontal", movement.x);
            animator.SetFloat("Vertical", movement.y);
            animator.SetFloat("Speed", movement.sqrMagnitude);
        }
    }

    void FixedUpdate()
    {
        rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);
    }
}

Спасибо за любую помощь!

1 Ответ

0 голосов
/ 24 марта 2020

В этом коде вы на самом деле не запускаете никакой анимации, возможно, именно поэтому? Попробуйте добавить оператор else после вашего if (motion! = Vector2.zero)) и установить для всех ваших значений с плавающей точкой значение 0, чтобы он не повторял эту анимацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...