Kommunauty
Connexion
Inscription
« Étape 4 : Ennemis et lance-missiles

Étape 5 : Animations

le 6 septembre 2011 • Flash • par Dawlin

Salutations. Ici on va tenter d'ajouter des petites animations, pour égayer un peu voire même améliorer l'aspect du jeu. On ne va en coder qu'une seule, mais en réfléchissant bien à comment en faire d'autres facilement.

L'exemple

On va écrire une fonction permet d'afficher n'importe où n'importe quel clip. Ce qui nous permettra de faire une armée de clips d'animation, et d'utiliser cette fonction pour chacun d'eux au bon moment au bon endroit

On va placer ça dans apparaitre.as.

Voici la fonction :


/*
Ici on va déclarer une fonction qui pourra faire apparaître n'importe quel clip à n'importe quel endroit sur la map.
Elle aura pour forme :
apparaitre(OccurenceDuClip,X,Y);

On s'en servira pour faire apparaître des animations (porte qui s'ouvre, méchant qui meurt...) stockées dans des clips
/!\ Attention : cette fonction est dangereuse car on peut faire apparaître n'importe quel clip, même une dalle de sol
par exemple !
*/

apparaitre = function(vocc,vx,vy){
// On récupère proprement les variables
var occ:String = vocc;
tx = vx;
ty = vy;
// On charge le clip dans la map
var anim:MovieClip = map.attachMovie(occ,"anim"+map.getNextHighestDepth(),map.getNextHighestDepth());
// On le place
anim._x = tx;
anim._y = ty;
//Et c'est FINI
}

/*
N-B : les animations sont des petits clips qui s'autodétruisent à la fin de leur timeline (voir le clip "anim_explosion" par exemple)
*/

Ce qu'on va faire ici, c'est une animation pour quand les méchants meurent :

On en fait donc un clip, qui dans la bibliothèque a une occurrence "explosion".

Maintenant, tout ce qu'on a à faire, c'est trouver le moment où le déclencher. C'est dans le script missiles.as

Remplacez


// On détecte également si on a touché un ennemi :
for(var z in map.contM){
if(this.hitTest(map.contM[z])){
// Puis on détruit le monstre et le missile
map.contM[z].removeMovieClip();
this.removeMovieClip();  
}
}

Par


// On détecte également si on a touché un ennemi :
for(var z in map.contM){
if(this.hitTest(map.contM[z])){
// Et on lance une animation (voir fichier "apparaitre.as")
apparaitre("explosion",map.contM[z]._x,map.contM[z]._y);
// Puis on détruit le monstre et le missile
map.contM[z].removeMovieClip();
this.removeMovieClip();  
}
}

Les positions où afficher l'animation sont celles du monstre, donc map.contM[z]._x et map.contM[z]._y puisque cette boucle l'appelle comme ça !

Ce qu'on peut en faire

Donc maintenant, on a juste à faire un clip avec une animation, une occurrence bibliothèque, et utiliser la fonction pour le charger. Il faudra juste savoir à quel moment le mettre dans le code, et à quelles coordonnées.

Exemples d'animations possibles :

  • Tir de missiles
  • Missiles qui heurte un mur
  • Le héros perd de la vie
  • La fin du niveau
  • ...

C'était une étape très courte, pour se préparer à la terrible qui arrive

Courte certes, mais je vous laisse quand même les sources : Cliquez Ici

Étape 6 : Interrupteurs »


  
Aucun commentaire

Sois le premier à débuter une discussion à propos de cet article !



Ajoute un commentaire !

Ajouter une image... Trouvée sur internet » De mon PC »
Adresse URL :
Adresse de la page de la vidéo :
Taille du texte :
Couleur du texte :

Article lu 2529 fois.