J'essaie de faire jouer les animations dans mon script character controller. Voici le script :
Code : Tout sélectionner
using UnityEngine;
using System.Collections;
public class PlayerController : MonoBehaviour
{
public Vector2 speed = new Vector2(5f, 2f);
public Vector2 targetPosition;
public Vector2 relativePosition;
private Vector2 movement;
private Rigidbody2D rigidbody2D;
private Animator animator;
private static object velocity;
private void Start()
{
animator = GetComponent<Animator>();
}
void Awake()
{
rigidbody2D = GetComponent<Rigidbody2D>();
}
void Update()
{
if (Input.GetKeyDown(KeyCode.Mouse0))
{
targetPosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
relativePosition = new Vector2(
targetPosition.x - gameObject.transform.position.x,
rigidbody2D.velocity.y);
}
void FixedUpdate()
{
if (speed.x * Time.deltaTime >= Mathf.Abs(relativePosition.x))
movement.x = relativePosition.x;
else
movement.x = speed.x * Mathf.Sign(relativePosition.x);
rigidbody2D.velocity = movement;
if (rigidbody2D.velocity.magnitude > 0)
{
animator.SetFloat("Speed", Mathf.Abs(targetPosition.x));
}
}
}
1) l'animation ne revient pas sur le idle
2) lorsque l'animation de walkright se déclenche, la taille du sprite est réduite
3) walkleft ne se déclenche pas
4) le joueur bouge au démarrage du jeu au lieu de rester immobile
Je débute tout juste dans la progra alors je suis un peu perdue. Merci d'avance de votre aide