В YouTube есть какое-то учебное пособие, но я думаю, что это неправильно, почему?да, аи бегут в случайных направлениях, но анимация - нет.даже ай движется на холостом ходу.Есть ли у кого-нибудь исходный код или идея, чтобы заставить его работать так, как должно быть?Пожалуйста, помогите мне, я застрял в этой вещи на неделю.перепробовал все, что мог, но все не получилось, пожалуйста, помогите мне, я вас умоляю.У меня есть только еще один день, чтобы закончить основную игру, которую я создаю для нашего школьного промежуточного экзамена.я не хочу потерпеть неудачу T_T
public float moveSpeed;
private Rigidbody2D myRigidbody;
public bool isWalking;
public float walkTime;
private float walkCounter;
public float waitTime;
private float waitCounter;
private int walkDirection;
public Animator animator;
void Start()
{
animator = GetComponent<Animator>();
animator.SetBool("IsRunning", true);
myRigidbody = GetComponent<Rigidbody2D>();
waitCounter = waitTime;
walkCounter = walkTime;
ChooseDirection();
}
void Update()
{
animator.SetBool("IsRunning", isWalking);
if (isWalking)
{
walkCounter -= Time.deltaTime;
switch (walkDirection)
{
case 0:
myRigidbody.velocity = new Vector2(0, moveSpeed);
break;
case 1:
myRigidbody.velocity = new Vector2(moveSpeed, 0);
break;
case 2:
myRigidbody.velocity = new Vector2(0, -moveSpeed);
break;
case 3:
myRigidbody.velocity = new Vector2(-moveSpeed, 0);
break;
}
if (walkCounter < 0)
{
isWalking = false;
waitCounter = waitTime;
}
}
else
{
waitCounter -= Time.deltaTime;
myRigidbody.velocity = Vector2.zero;
if (waitCounter < 0)
{
ChooseDirection();
}
}
}
public void ChooseDirection()
{
walkDirection = Random.Range(0, 4);
isWalking = true;
walkCounter = walkTime;
}
}