[Résolu][DB - AL] Z + Shift pour courir

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
Hekinox
Messages : 12
Inscription : 05 Avr 2017 23:25

[Résolu][DB - AL] Z + Shift pour courir

Message par Hekinox » 05 Avr 2017 23:37

Bonjour,

J'ai pour projet de première année en informatique de créer un jeu video. Cependant, je sèche sur un problème. En fait j'ai assigné les touches pour bouger mon personnage (dont Z pour avancer), et j'aimerais que mon personnage passe à l'animation courir en appuyant en plus de la touche Z, sur Shift. Mais forcément, cela joue l'animation avancer et courir (faites sur MotionBuilder) en même temps. J'ai ajouter toutes mes animations dans l'animator et voici mon script :

Code : Tout sélectionner

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

public class Player : MonoBehaviour
{
    public int speed = 1;
    public int speed_run = 2;
    public int puissance = 10;
    static Animator anim;
 
    void Start()
    {
        anim = GetComponent<Animator>();

    }

    void Update()
    {
        if (Input.GetKey(KeyCode.Z))
        { 
                transform.Translate(Vector3.forward * speed * Time.deltaTime);//devant
                anim.Play("avancerETreculer");
        }

        if ((Input.GetKey(KeyCode.LeftShift)) && (Input.GetKey(KeyCode.Z)))
        {
                transform.Translate(Vector3.forward * speed_run * Time.deltaTime);//devant
                anim.Play("courir");
        }

        if (Input.GetKey(KeyCode.D))
        {
            transform.Translate(Vector3.right * speed * Time.deltaTime); //droite
            anim.Play("avancerETreculer");
        }
        
        if (Input.GetKey(KeyCode.Q))
        {
            transform.Translate(Vector3.left * speed * Time.deltaTime); //gauche
            anim.Play("avancerETreculer");
        }
        
        if (Input.GetKey(KeyCode.S))
        {
            transform.Translate(Vector3.back * speed * Time.deltaTime);//derriere
            anim.Play("avancerETreculer");
        }

        if (Input.GetKey(KeyCode.Space))
        {
           // transform.Translate(Vector3.up * puissance * Time.deltaTime);//sauter
            anim.Play("sauter");
            //transform.Translate(Vector3.down * puissance * Time.deltaTime);
        }
    }
}
Merci beaucoup de votre aide !

Avatar de l’utilisateur
simonj
Messages : 293
Inscription : 29 Nov 2015 20:47
Localisation : Lyon

Re: [DB - AL] Z + Shift pour courir

Message par simonj » 06 Avr 2017 00:24

Salut,

C'est assez simple en fait. Tu peux même mettre ton test de touche SHIFT à l'intérieur de ton test de la touche Z. Ce qui donne :

Code : Tout sélectionner

if (Input.GetKey(KeyCode.Z))
{ 
	if(Input.GetKey(KeyCode.LeftShift))
	{
		transform.Translate(Vector3.forward * speed_run * Time.deltaTime);//devant
		anim.Play("courir");
	}
	else
	{
		transform.Translate(Vector3.forward * speed * Time.deltaTime);//devant
		anim.Play("avancerETreculer");
	}
}

Hekinox
Messages : 12
Inscription : 05 Avr 2017 23:25

Re: [DB - AL] Z + Shift pour courir

Message par Hekinox » 06 Avr 2017 01:00

Ca fonctionne !! Merci beaucoup ::d (je me sens bête de ne pas y avoir pensé :oops: )

Répondre

Revenir vers « (C#) CSharp »