Анимация

Программирование на Юнити.

Анимация

Сообщение stepashock 10 янв 2021, 07:37

У меня есть скрипт в 2д игре и я хочу сделать анимацию:

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

public class Player : MonoBehaviour
{
private Vector2 targetPos;
public float Yincrement;

private Animator anim;

private void Start()
{
anim = GetComponent<Animator>();
}

private void Update()
{
if (Input.GetKeyDown(KeyCode.W))
{
targetPos = new Vector2(transform.position.x, transform.position.y + Yincrement);
transform.position = targetPos;
}
else if (Input.GetKeyDown(KeyCode.S))
{
targetPos = new Vector2(transform.position.x, transform.position.y - Yincrement);
transform.position = targetPos;
}
if (Input.GetKeyDown(KeyCode.A))
{
targetPos = new Vector2(transform.position.x - Yincrement, transform.position.y);
transform.position = targetPos;
if (anim)
{
anim.SetBool("isRunning", true);
}
}
else if (Input.GetKeyDown(KeyCode.D))
{
targetPos = new Vector2(transform.position.x + Yincrement, transform.position.y);
transform.position = targetPos;
}
}
}

Я сделал так, что при нажитии кнопки A начинает проигрываться анимация, то есть когда персонаж делает движение влево анимация начинается, но она не хочет кончаться я не сильно шарю в коде, можете помочь сделать так, чтобы когда нажимаешь на кнопку A, то анимация проигрывалась 1 раз, а потом персонаж просто стоял, анимация когда он не подвижен тоже присутствует, возможно её нужно как-то вписать сюда?

А вот я пытался сделать с кнопкой A:

if (Input.GetKeyDown(KeyCode.A))
{
targetPos = new Vector2(transform.position.x - Yincrement, transform.position.y);
transform.position = targetPos;
if (anim)
{
anim.SetBool("isRunning", true);
}
}
stepashock
UNец
 
Сообщения: 6
Зарегистрирован: 16 дек 2020, 19:46

Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11