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);
}
}
}