Mir Usmanov Ответов: 1

Пожалуйста ребята помогите с анимацией в unity 3D


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

public class PlayerShot : MonoBehaviour {
	public GameObject Player;
	
	
	void Start(){
		
	}
	
	void Update(){
         
            if (Input.GetMouseButtonDown(0))
            {
                Player.GetComponent<Animator>().SetTrigger("Attack");

            }

            else if (Input.GetMouseButtonUp(0))
            {
                Player.GetComponent<Animator>().SetTrigger("Idle");

            }
        }
		
	}


Что я уже пробовал:

Я пытался изменить код, но безрезультатно

1 Ответов

Рейтинг:
1

phil.o

Вы можете попробовать добавить частное поле, удерживающее, когда произошло последнее событие мыши. Таким образом, вы можете предотвратить выполнение метода, если с момента последнего вызова прошло недостаточно времени.
Что-то вроде:

using UnityEngine;
using System.Collections;

public class PlayerShot : MonoBehaviour
{
   public GameObject Player;

   private const float WAIT = 0.1f; // 1/10th of a second

   private float lastClik = 0f;
	
   void Update() {

      if (Time.time - lastClick > WAIT) {

         lastClick = Time.time;

         if (Input.GetMouseButtonDown(0))
         {
            Player.GetComponent<Animator>().SetTrigger("Attack");
         }
         else if (Input.GetMouseButtonUp(0))
         {
            Player.GetComponent<Animator>().SetTrigger("Idle");
         }
      }
   }
}

Любезно.


Mir Usmanov

Спасибо за ваш ответ Фил.o но то же самое, что и раньше, то есть если я постоянно нажимаю на кнопку, мой плеер снова зависает, возможно, анимация не может догнать щелчок или что-то в этом роде.

phil.o

Да, наверное. Этот учебник довольно интересен и, хотя он не касается только вашей реальной проблемы, может содержать некоторую полезную информацию и трюки:
Merry Fragmas 3.0: Multiplayer FPS Foundation[^]

Mir Usmanov

Хорошо, Фил.о, большое спасибо

phil.o

Добро пожаловать.