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.
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.
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..
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..
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.
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;
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.
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!