DestroyIfOffScreenComponent komponentti tarkistaa asema yksikön kunkin kehyksen ja poistaa yksikkö, jolle se kuuluu pelin jos se on siirtynyt pois ruudulta.
public class DestroyIfOffScreenComponent ulottuu TickedComponent {[TypeHint (tyyppi = "flash.geom.Point")] yleisillä var positionReference: PropertyReference; julkinen var screenWidth: int = 480; julkinen var screenHeight: int = 384; julkinen var sideBuffer: int = 32; julkisessa tehtävässä DestroyIfOffScreenComponent () {Super (); } Julkinen Ohitustoiminto onTick (tickRate: Numero): void {super.onTick (tickRate); var positioita: Point = owner.getProperty (positionReference); jos (asento == null) tuotto; jos (position.x> screenWidth + sideBuffer || position.x screenHeight + sideBuffer || position.y
PlayerControllerComponent onTick toiminto on muutettu, jotta se tuleen luoteja. Ensin laskea alas ajastin nimeltään timeToNextShot että on kasvatetaan joka kerta luoti on ammuttu.
julkisen Ohitustoiminto onTick (tickRate: Numero): void {//... timeToNextShot - = tickRate; timeToNextShot = timeToNextShotJos välilyöntiä on painettu ja timeToNextShot on nolla me nollaa timeToNextShot laskuri ja luoda uusi esiintymä PlayerBullet mallin. luoteja ja -nopeuden asetetaan siten, että se näkyy ruudulla pelaajat asemassa.
jos (InputManager.isKeyDown ( InputKey.SPACE) && timeToNextShot == 0) {timeToNextShot = timeBetweenShots; var bullet: IEntity = TemplateManager.instance.instantiateEntity (bulletEntityName), jos (luoti! = null) {var paikkatietojen: Box2DSpatialComponent = bullet.lookupComponentByType (Box2DSpatialComponent) kuin Box2DSpatialComponent ; spatial.position = uusi Point (position.x, position.y); spatial.linearVelocity = uusi Point (0, -vaihteinen); }} //...}
Jos olet lukenut edellisen opetusohjelma sarja muistat, että lisäämällä animoitu sprite näytön suorituksen tarvitaan kiertotapa jossa animaation komponentti lisättiin yhteisölle vasta kuvan resurssi oli ladattu (se oli EntityFactory createExplosion toiminto tässä opetusohjelmassa niille, jotka haluavat katsoa). Tämä ei ole ongelma tässä käytetty menetelmä, koska kaikki Sprite levyt
Making Space Invaders klooni PushButton - Explosions
- C ++ Basic Syntax
- Langattoman verkon asetukset 615 D-link
- Taulukot Java
- Miten saada ilmaiseksi software
- Windows Scroll Bar
- Konsoli Hakemus soittamalla Tapahtuma käyttäen edustaja C # 1.1 ja 2.0 ( Dot N…
- Miten suunnitella rutiinit Structured Computer Program
- Tietokannan taulukon tiedot Types
- Lisääntyvä sarakkeita Tietokannan Entity
- Tyyppi Casting Php