J'essaie de réaliser un jeu en reprenant à peu près le gameplay de Doom. Se faisant j'ai créé une série d'images pour l'animation du tir. Les images sont attribuées à un material, lui-même attribué à un objet placé devant la camera.
Le script associé à l'objet donne ça : (en utilisant le "Texture Swap Animator" (http://wiki.unity3d.com/index.php?title ... p_animator) )
Code : Tout sélectionner
var uvAnimationTileX = 24; //Here you can place the number of columns of your sheet.
//The above sheet has 24
var frames : Texture2D[];
var framesPerSecond = 24;
function Update ()
{
if(Input.GetButton("Fire1") == true)
{
Shoot ();
}
if(Input.GetButton("Fire1") == false)
{
renderer.material.mainTexture = frames[0];
}
}
function Shoot ()
{
var index : int = Time.time * framesPerSecond;
index = index % frames.Length;
renderer.material.mainTexture = frames[index];
}
Alors l'animation fonctionne très bien, mais le problème c'est qu'elle ne se lance que lorsque le bouton de la souris reste appuyé.
Je n'arrive pas à faire en sorte que "un clic" soit équivalent à "l'animation se joue une fois en entier".
Quelqu'un aurait-il une idée ?