cela fait 3 jours que je bloque sur le même problème j'essaie de faire un jeu plateformer en 2d-3d a la mario et donc la je suis en train de faire les deplacements du personnage mon problème est que je n'arrive pas a scripté le fait que lorsque j'avance vers la gauche le personnage doit se retourner et doit marcher dans le coté ou il se retourne en effet la j'ai reussi a faire en sorte que le personnage marche vers lavant en appuyant sur la touche droite mais lorsquon appuie sur la touche ggauche le personnage se retourne mais avance toujours sur la droite comment dois-je faire svp. Voila un bout de code :
Code : Tout sélectionner
public class PlayerCC : MonoBehaviour {
private Animator anim;
public int abs = 0;
public int abs2 = 0;
public float speed = 6f;
public float jumpSpeed = 8f;
public float gravity = 20f;
private Vector3 moveDirection = Vector3.zero;
CharacterController Cc;
// Use this for initialization
void Start () {
Cc = GetComponent<CharacterController>();
anim = GetComponent<Animator>();
}
// Update is called once per frame
void Update () {
if (Cc.isGrounded)
{
moveDirection = new Vector3(0, 0, Input.GetAxis("Vertical"));
moveDirection = transform.TransformDirection(moveDirection);
moveDirection *= speed;
}
moveDirection.y -= gravity * Time.deltaTime;
Cc.Move(moveDirection * Time.deltaTime);
if (Input.GetAxis("Vertical") > 0)
{
//Marche avant
anim.SetBool("Walk", true);
}
if (anim.GetBool("Walk") == true && abs == 1)
{
transform.Rotate(Vector3.up, -180);
abs--;
}
if (Input.GetAxis("Vertical") < 0 && abs ==0)
{
//Marche arrière
transform.Rotate(Vector3.up, -180);
anim.SetBool("WalkA", true);
abs++;
}