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 = timeToNextShotSi 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
Faire un clone de Space Invaders avec PushButton - Explosions
- Ajouter streaming audio à votre Website
- Pièces de MySQL Date et Time
- Premiers pas avec Xhtml
- Notions de base de C Identifier Scope
- Un Html Ebook Project
- Comprendre Jeu Programming
- Opérateurs d'assignation à Php
- Comment apprendre à programmer votre Computer
- Langages de programmation sur Le Mainframe
- Mise en œuvre de base de données dans Mysql