Help Animation

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
friie34
Messages : 4
Inscription : 26 Fév 2014 21:04

Help Animation

Message par friie34 » 03 Mai 2015 14:30

Bonjour, je vais essayer de pauser ma question clair ^^.

Alors j'ai un personnage qui de déplace lorsqu'on appui sur les touches Q ou D et j'ai 2 animation une iddle pour quand il est statique et une run pour quand il cour .

Lorsque je vais vers la droite le personnage cours.

Lorsque je vais vers la gauche, il reste en iddle mais avec avec le sens changé.

En condition d’animation j'ai mit speed supérieur a 0.1 pour courir et inférieur a 0.1 pour passer en iddle.

La vitesse est elle négative quand je vais vers la gauche ? Faut il rajouter des condition d’animation?

Cordialement Friie

Avatar de l’utilisateur
LudlowFx
Messages : 1367
Inscription : 19 Sep 2013 05:50

Re: Help Animation

Message par LudlowFx » 03 Mai 2015 16:04

[center][Modération]

Merci de lire la Nétiquette avant de poster un sujet.

Mauvaise catégorie (déplacé), et de ce fait, il manque le script qui gère et envoie les données aux animations si tu veux de l'aide !
[/center]
Merci de lire et de prendre en considération la Nétiquette des Forums avant de poster un sujet !

friie34
Messages : 4
Inscription : 26 Fév 2014 21:04

Re: Help Animation

Message par friie34 » 07 Mai 2015 08:58

Merci et désolé de l'avoir posté au mauvais endroit.

Code : Tout sélectionner

        public float speed;
	public float jumpForce;
	public Animator anim;	

	void FixedUpdate() {
		CheckMovements();
		Anime();
	}

	void Start () {
		anim = GetComponent<Animator> ();		
	}

	void CheckMovements() {
		Vector2 newPosition = Vector2.zero;
		
		if (Input.GetKey(KeyCode.D)) {
			newPosition = Vector2.right * speed * Global.deltaTime;
			transform.eulerAngles = new Vector2(0, 0);
		} else if (Input.GetKey(KeyCode.Q)) {
		  	newPosition = Vector2.right * speed * Global.deltaTime;
		  	transform.eulerAngles = new Vector2(0, 180);
		}

		//jump
		if (Input.GetKeyDown(KeyCode.Space) && Global.isGrounded == true) {
			GetComponent<Rigidbody2D>().AddForce(Vector2.up * jumpForce * 5);
		}
		
		transform.Translate(newPosition);
	}

	void Anime(){

		float x = Input.GetAxis ("Horizontal");
		anim.SetFloat ("speed", Mathf.Abs (x));
		if(x > 0){
			transform.Translate (x * speed * Time.deltaTime,0,0);
			transform.eulerAngles = new Vector2(0, 0);
		}
		if(x < 0){
			transform.Translate (-x * speed * Time.deltaTime,0,0);
			transform.eulerAngles = new Vector2(0, 180);
		}
	}
2 methodes CheckMovements() et Anime() , la première pour les déplacements et la secondes pour l’animation.

Cordialement ,

Friie

Répondre

Revenir vers « (C#) CSharp »