Problème avec gotoAndPlay, gestion des animations
Bonsoir,
Je me suis attaquée à un certain nombre de tests pour la gestion des anims de mon avatar, et donc dans ce test, je déclenche une anim par une des touches :
i, w, r, m, b
Ca marche bien sauf que...il faut appuyer deux fois sur la touche.
La première fois que j'appuie, ca semble déplacer la tête de lecture uniquement, et la seconde ca "play"...seulement je ne comprend absolument pas pourquoi...
Quelqu'un a-t-il une idée ?
Merci
Citation:
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.KeyboardEvent;
var avatar:Anim_avatar=new Anim_avatar();
var anim:String = new String("stop");
var anim_last:String = new String("stop");
addChild(avatar);
stage.addEventListener(KeyboardEvent.KEY_DOWN,traite_cle);
stage.addEventListener(Event.ENTER_FRAME,traite_anim);
avatar.stop();
function traite_cle(evt:KeyboardEvent)
{
anim_last=anim;
switch (evt.keyCode)
{
// I dle
case 73 :
anim="idle";
break;
// B lessure
case 66 :
anim="blessure"
break;
// M angeB
case 77 :
anim="mangeB"
break;
// W alk
case 87 :
anim="walk"
break;
// R un
case 82 :
anim="run"
break;
/pas de déplacement
default :
anim="stop";
}
trace ("anim déclenchée "+anim);
}
function traite_anim(evt:Event)
{
var anim_tmp:String = new String(anim+"_end");
if ( anim!="stop" && ( anim!=anim_last || avatar.currentLabel == anim_tmp))
{
avatar.gotoAndPlay(anim+"_begin");
}
}