Animation 2D ne déclanche pas

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
GhostBlue93
Messages : 1
Inscription : 21 Jan 2021 12:50

Animation 2D ne déclanche pas

Message par GhostBlue93 » 04 Sep 2021 11:22

Bonjour à tous,

Je suis en trains de créer un jeu 2D unity en C#, et je rencontre un souci pour l'animation, pouvez vous m'aider svp.

mon animation de marche ne se déclanche pas, pourquoi ?

voici mon code :

Code : Tout sélectionner

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class mage : MonoBehaviour
{
    float speed = 0.1f;
    public float h, v;
    public Animation anim;

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

    // Update is called once per frame
    void Update()
    {
        h = Input.GetAxis("Horizontal") * speed;
        v = Input.GetAxis("Vertical") * speed;

        if (Input.GetKeyDown(KeyCode.LeftArrow))
        {
            transform.localScale = new Vector2(-1, 1);
            anim.Play("marche");
        }
        else if (Input.GetKey(KeyCode.RightArrow))
        {
            transform.localScale = new Vector2(1, 1);
        }

        transform.Translate(h, v, 0);
    }
}

merci d'avance

Avatar de l’utilisateur
Max
Messages : 8764
Inscription : 30 Juil 2011 13:57
Contact :

Re: Animation 2D ne déclanche pas

Message par Max » 04 Sep 2021 11:48

Bonjour,

Ta question manque de précision. Tu as donc certainement un component 'Animation" sur ton personnage (Player). A savoir que c'est plutôt obsolète comme système désormais. L'animation qui y est liée contient-elle bien une séquence d'animation nommée "marche" (en respectant les majuscules/minuscules) ?
L'animation est-elle valide ? S'entend, si tu la testes, ton personnage marche-t-il bien comme attendu ?
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
jmhoubre
Messages : 851
Inscription : 05 Oct 2019 22:05

Re: Animation 2D ne déclanche pas

Message par jmhoubre » 04 Sep 2021 15:18

Bonjour,

c'est peut-être normal, mais la ligne anim.Play("marche") n'apparait pas dans la seconde branche du if, donc l'animation ne fonctionnera que sur les flèches gauche. Je la déplacerai en dehors du bloc du if, juste avant transform.Translate().

Drenfa
Messages : 4
Inscription : 11 Déc 2021 14:43

Re: Animation 2D ne déclanche pas

Message par Drenfa » 12 Déc 2021 15:17

Bonjour,
Dans ton code je vois quelque soucis comme l'appuis d'une touche, si tu utilise

Code : Tout sélectionner

float h = Input.GetAxis("Horizontal") * speed * Time.deltaTime //Pour au fil du temps (item pour le vertical)
	//Et le
	// if(Input.getKeyDown(KeyCode.LeftArrow)
	//tu peux le remplacer par
	if(h > 0){//Mouvement à droite
		//Tranlate(...)
		animator.Play("marche");
	}
	else if (h< 0{/Mouvement à gauche
		//Translate(...)
	}
	//Idem pour le vertical
Et pour le soucie de l'animation verifie si l'objet dans lequel contient le scipts contient en effet un Animator
et relie bien une animation
Idle
à l'animation correspondante comme ceci Image
de plus décoche cette case Image sur la transition de l'animation Idle et marche en cliquant sur celle-ci

Répondre

Revenir vers « Scripting »