Здравствуйте. У персонажа в игре при падении с платформы продолжается анимация бега или ходьбы, на видео можно увидеть. Вот видео. В видео я не продолжал нажимать клавиши движения, персонаж просто падал. Не вините меня за спрайт перса, я только разбираюсь в основах создания 2D игр. Если нужно объяснение моего невнятного кода, то обязательно все распишу.
Код
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
Rigidbody2D rb;
Animator animator;
SpriteRenderer sprite;
[SerializeField]
int speed;
[SerializeField]
int jumpForce;
[SerializeField]
Transform CheckGround;
[SerializeField]
int run;
private int speed1;
private bool speedBool = false;
private bool idle = true;
bool isGrounded;
private float time = 3f;
public float timeOut = 3f;
private void Start()
{
speed1 = speed;
rb = GetComponent<Rigidbody2D>();
animator = GetComponent<Animator>();
sprite = GetComponent<SpriteRenderer>();
}
void Update()
{
time += Time.deltaTime;
}
private void FixedUpdate()
{
if(Physics2D.Linecast(transform.position, CheckGround.position, 1 << LayerMask.NameToLayer("Ground")))
{
isGrounded = true;
}
else
{
isGrounded = false;
}
if (Input.GetKey(KeyCode.D))
{
rb.velocity = new Vector2(speed, rb.velocity.y);
if (isGrounded && speedBool == false)
animator.Play("Player_Run");
sprite.flipX = false;
idle = false;
}
else if (Input.GetKey(KeyCode.A))
{
rb.velocity = new Vector2(-speed, rb.velocity.y);
if (isGrounded && speedBool == false)
animator.Play("Player_Run");
idle = false;
sprite.flipX = true;
}
else if(isGrounded)
{
rb.velocity = new Vector2(0, rb.velocity.y);
if (isGrounded)
animator.Play("Player_Idle");
idle = true;
}
if (Input.GetKey(KeyCode.LeftShift) && idle == false)
{
speed = run;
speedBool = true;
if (isGrounded)
animator.Play("Player_Runing");
}
else
{
speed = speed1;
speedBool = false;
}
if (Input.GetKey(KeyCode.W) && isGrounded == true && time > timeOut)
{
time = 0f;
rb.velocity = new Vector2(rb.velocity.x, jumpForce);
animator.Play("Player_Jump");
}
}
}