08-02-2012, 11:16 PM
Quand un personnage demande à bouger, tu appelles une méthode draw()
Dans draw() tu définies :
private int frame = 0;
private int animState = -1;
ensuite à chaque actualisation du timer, tu fais ++frame ce qui te donne l'image à afficher et animState = 0; pour démarrer l'anim, ++animState aussi ensuite
Lorsque que frame = 4 par exemple (si ton image fais 4 frames) tu mets animState à -1
et tu conditionnes le dessin uniquement si animState !== -1
Pour gérer la durée, la frame sera égale à l'état de l'anim / DUREE car avec ++frame à chaque fois ça va aller trop vite pour être perceptible.
Ensuite tu peux aussi déclarer une variable pour les pixels restants à parcourir que tu ajoutes au X et au Y du dessin de ton personnage (pas les coordonnées X et Y de position).
J'espère que je me suis fait comprendre, honnêtement je me suis servi d'un tuto perso ^^
C'est toujours un peu le même principe, tu peux t'aider de scripts JS, C, C++...
Dans draw() tu définies :
private int frame = 0;
private int animState = -1;
ensuite à chaque actualisation du timer, tu fais ++frame ce qui te donne l'image à afficher et animState = 0; pour démarrer l'anim, ++animState aussi ensuite
Lorsque que frame = 4 par exemple (si ton image fais 4 frames) tu mets animState à -1
et tu conditionnes le dessin uniquement si animState !== -1
Pour gérer la durée, la frame sera égale à l'état de l'anim / DUREE car avec ++frame à chaque fois ça va aller trop vite pour être perceptible.
Ensuite tu peux aussi déclarer une variable pour les pixels restants à parcourir que tu ajoutes au X et au Y du dessin de ton personnage (pas les coordonnées X et Y de position).
J'espère que je me suis fait comprendre, honnêtement je me suis servi d'un tuto perso ^^
C'est toujours un peu le même principe, tu peux t'aider de scripts JS, C, C++...