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

Faire un clone de Space Invaders avec PushButton - Bullets

effectivement tout dommage. Pour l'instant, il écoute une collision et supprime l'entité à laquelle il appartient de la partie

 public class DamageOnContactConponent étend EntityComponent {dommages public var:. Int = 0; fonction publique DamageOnContactConponent () {super (); } Fonction protégée override onAdd (): void {super.onAdd (); owner.eventDispatcher.addEventListener (CollisionEvent.COLLISION_EVENT, onCollision); } Protected override fonction onRemove (): void {super.onRemove (); owner.eventDispatcher.removeEventListener (CollisionEvent.

COLLISION_EVENT, onCollision); } Private function onCollision (event: CollisionEvent): void {owner.destroy (); }

La composante DestroyIfOffScreenComponent vérifie la position de l'entité chaque image et supprime l'entité à laquelle il appartient de la partie si elle a déménagé hors de l'écran.

 DestroyIfOffScreenComponent public class étend TickedComponent {[TypeHint (type = "flash.geom.

Point")] de positionReference public var: PropertyReference; public var ScreenWidth: int = 480; public var screenheight: int = 384; public var sideBuffer: int = 32; DestroyIfOffScreenComponent public function () {super (); } Public override function onTick (tickrate: Number): void {super.onTick (tickrate); position var: point = owner.getProperty (positionReference); si (la position == null) return; si (position.x> ScreenWidth + sideBuffer || position.x screenheight + sideBuffer || Position.Y

La fonction PlayerControllerComponent onTick a été modifié pour lui permettre de tirer les balles.

D'abord, nous comptons en bas d'une minuterie qui est appelé timeToNextShot incrémenté à chaque fois qu'une balle est tirée

 public override function onTick (tickrate: Number):. void {//... timeToNextShot - = tickrate; timeToNextShot = timeToNextShot 

Si la barre d'espace a été appuyé et l'timeToNextShot est égal à zéro, nous remettre le compteur de timeToNextShot et de créer une nouvelle instance du modèle PlayerBullet. La position des balles et la vitesse sont définies de sorte qu'il apparaît à l'écran à la position des joueurs.

 if (InputManager.isKeyDown ( InputKey.

SPACE) && timeToNextShot == 0) {timeToNextShot = timeBetweenShots; var balle: IEntity = TemplateManager.instance.instantiateEntity (bulletEntityName); if (balle = null) {var spatiale: Box2DSpatialComponent = bullet.lookupComponentByType (Box2DSpatialComponent) que Box2DSpatialComponent ; spatial.position = new Point (position.x, Positi

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