Petit conseil imitez le mouvement de Boo de Super Mario Bros.

Dans cette astuce, vous apprendrez une technique de déplacement conditionnel de l'ennemi, basée sur un ennemi classique tiré d'un jeu génial. Fais face au fantôme et il se fige; détourner le regard et il vient pour vous.


Aperçu du résultat final

Jetons un coup d'œil au résultat final sur lequel nous allons travailler:

Utilisez les flèches gauche et droite pour vous déplacer. Le mouvement de la marche a été simplifié pour le but de ce conseil rapide.


Étape 1: bref aperçu

Un joueur et un ennemi seront affichés à l'écran, le joueur sera contrôlé à l'aide des touches fléchées gauche et droite et l'ennemi réagira à la position et à l'orientation du joueur..


Étape 2: Configurez votre fichier Flash

Lancez Flash et créez un nouveau document Flash, réglez la taille de la scène sur 320x200px et la cadence sur 24 images par seconde..


Étape 3: interface

Ceci est l'interface que nous allons utiliser, des formes simples et des couleurs pour recréer ce problème.

Convertissez les personnages en clips et nommez-les fantôme et joueur.


Étape 4: ActionScript

Créez une nouvelle classe ActionScript (Cmd + N), enregistrez le fichier sous Main.as et écrivez les lignes suivantes, veuillez lire les commentaires dans le code pour bien comprendre le comportement de la classe.

 package import flash.display.Sprite; import flash.events.KeyboardEvent; import flash.events.Event; classe finale publique Main étend Sprite fonction finale publique Main (): void addListeners ();  fonction finale privée addListeners (): void stage.addEventListener (KeyboardEvent.KEY_DOWN, movePlayer); stage.addEventListener (Event.ENTER_FRAME, suivez);  fonction finale privée movePlayer (e: KeyboardEvent): void if (e.CodeCode == 37) // se déplace à gauche si la touche flèche gauche est enfoncée player.x - = 4; player.rotationY = 180; // tourne dans le même sens else if (e.keyCode == 39) // se déplace vers la droite si la touche de direction droite est enfoncée player.x + = 4; player.rotationY = 0; // tourne pour correspondre à la direction fonction finale privée suivre (e: événement): void / * Côté droit * / if (player.rotationY == 0 && player.x> ghost.x) ghost.x + = 0.4 ; ghost.y + = 0,4; ghost.alpha = 1; ghost.rotationY = 0;  else if (player.rotationY == 180 && player.x> ghost.x) // si le joueur regarde le fantôme ghost.alpha = 0.5;  / * Côté gauche * / if (player.rotationY == 180 && player.x < ghost.x)  ghost.x -= 0.4; ghost.y += 0.4; ghost.alpha = 1; ghost.rotationY = 180;  else if(player.rotationY == 0 && player.x < ghost.x) //if the player looks at the ghost  ghost.alpha = 0.5;  /* Stop Y if ghost is near floor */ if(ghost.y >= 165) ghost.y = 165; 

Étape 5: Classe de document

Ajoutez le nom de la classe à la Classe champ dans le Publier section de la Propriétés panneau pour associer la FLA à la classe de document Main.


Conclusion

Vous avez appris une technique simple et utile du mouvement ennemi, essayez-la dans vos propres jeux.!

J'espère que vous avez aimé ce tutoriel, merci d'avoir lu!