Закрывайте или удаляйте пожалуйста свои вопросы по получение ответа или по сроку давности
Очень знакомый код. Советую еще раз пересмотреть туториал из которого вы это брали.
А по делу.
Вам нужно создать в аниматоре флоат переменную Speed, далее в аниматоре настроить переход анимации из состояния покоя в состояние бега. Создаете стрелки(гуглите) на стрелке перехода в состояние бега в Conditions добавляете нашу переменную Speed и пишите что она должна быть
Больше 0.01
А на стрелочке которая возвращает из состояния бега в состояние покоя проделываете тоже самое но Speed должна быть
Меньше 0.01
Вот правильный код:
Причем правильный во всех отношениях.
using UnityEngine;
using System.Collections;
public class CharacterController1 : MonoBehaviour
{
public Rigidbody2D rb2d;
public float speed;
public int move;
public bool facingRight = true;
private Animator anim;
void Start()
{
anim = GetComponent<Animator> ();
rb2d = GetComponent<Rigidbody2D> ();
}
void FixedUpdate()
{
rb2d.velocity = new Vector2(move * speed, rb2d.velocity.y);
}
public void Update()
{
float move = Input.GetAxis("Horizontal");
anim.SetFloat("Speed", Mathf.Abs(move));
if ((move < 0) && (facingRight))
{
Flip();
}
if ((move > 0) && (!facingRight))
{
Flip();
}
}
void Flip()
{
facingRight = !facingRight;
Vector3 theScale = transform.localScale;
theScale.x *= -1;
transform.localScale = theScale;
}
}