*   >> Lecture Éducation Articles >> science >> la programmation

Création d'un jeu de plateforme flash avec Flixel et Flex - Enemies

se Enemy

 package {org.flixel d'importation *..; public class Enemy étend FlxSprite {[Embed (source = "../médias /enemy.png")] protégée var EnemyImage: Classe; [Embed (source = "../médias /enemygibs.png")] protégé var EnemyGibsImage: Classe; protégée static const ENEMY_SPEED: Number = 20; protégée static const ENEMY_HEALTH: int = 2; 

Pour commencer, nous intégrons quelques images, une pour l'ennemi lui-même, et l'autre pour les lardons qui volera quand l'ennemi est tué.

Nous spécifions aussi des constantes de la définissent la santé et de la vitesse de l'ennemi

 protégée var startingX: int;. var protégée maxHorizontalMovement: int; protégées lardons en Var: FlxEmitter; 

Le startingX variable stocke la position de départ de l'ennemi. Depuis tous les ennemis commencent à la gauche d'un bloc, et nous savons comment large est un bloc, nous pouvons utiliser à partir de la position actuelle des ennemis afin de déterminer quand il doit se déplacer vers la droite pour éviter de tomber du bord.


< p> La variable maxHorizontalMovement est la largeur du bloc sous-jacent. Ceci, en combinaison avec la variable startingX, arrête les ennemis se déplaçant vers le bord du bloc.

Le gibs variables tiendra une FlxEmitter, qui est comme un système de particules, qui sera afficher une explosion de lardons quand l'ennemi est détruit

 fonction publique Enemy (X: int, Y: int, maxHorizontalMovement: int). {super (EnemyImage, X, Y, true); this.y - = this.hauteur; this.startingX = X; this.maxHorizontalMovement = maxHorizontalMovement - this.width; this.velocity.

x = ENEMY_SPEED; this.health = ENEMY_HEALTH; this.gibs = FlxG.state.add (nouvelle FlxEmitter (0,0,0,0, null, -1,5 -150 150, -200, 0, -720,720,400,0, EnemyGibsImage, 20, true)) comme FlxEmitter; addAnimation ("anim", [0, 1], 12); this.play ("anim"); }

Tout ce code est simple. Nous avons simplement la configuration des variables sous-jacentes FlxSprite ainsi que ceux que nous nous spécifiée, puis la configuration de l'animation de l'ennemi. .

Nous créons également une nouvelle FlxEmitter, qui permet d'afficher la douche de lardons quand l'ennemi meurt

 public override function update (): void {super.update (); si (this.x - this.startingX> = maxHorizontalMovement) {this.x = this.startingX + maxHorizontalMovement; this.velocity.x = -ENEMY_SPEED; .} Else if (this.x - this.startingX 

Dans la fonction de mise à jour que nous changer la vitesse de l'ennemi si elle a dém

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 Lecture Éducation Articles,https://lecture.nmjjxx.com All rights reserved.