SPEEL DE DEMO
Download de broncode
Terug naar de tutorial INDEX
In de laatste les toegevoegd we een component om entiteiten vernietigd botsing. Dit omzeild de HealthComponent gebruikt door de vijandelijke eenheden, maar nu komen we volledige cirkel en voeg een HealthComponent aan de speler, zodat het kan worden beschadigd door kogels vijand. Hier voegen we de HealthComponent, en aangeven dat het spel heeft een initiële gezondheid van de 5.
Code
Voor de speler te worden doodgeschoten we nodig hebben om een nieuwe entiteit sjabloon.
Dit is bijna een exacte kopie van de EnemyBullet sjabloon, met uitzondering van het type entiteit en botsing types worden veranderd om het te identificeren als een kogel geschoten door een vijand en botsen met de speler.
Code
EnemyControllerComponent .as
Net als de PlayerControllerComponent, die een nieuwe PlayerBullet entiteit wanneer de spatiebalk is ingedrukt creëert, de EnemyControllerComponent zal willekeurig een nieuw EnemyBullet entiteit te maken.
De timeToNextShot variabele gebruikt om de controle de hoeveelheid tijd tussen elke mogelijke afvuren van een kogel, wordt afgeteld naar 0.
openbare override functie onTick (tickrate: Number): void {//... timeToNextShot - = tickrate; timeToNextShot = timeToNextShotZodra timeToNextShot 0 bereikt zal de vijand een kans om een kogel brand te hebben. De timeToNextShot wordt teruggezet op de telling weer naar beneden beginnen
if (timeToNextShot == 0) {timeToNextShot = timeBetweenShots;.
Wij willen dat deze schoten om willekeurig zijn, dus gebruiken we de chanceOfShot variabele met de random-functie te bepalen of een schot moet worden genomen. De volgende if statement heeft een 1 op chanceOfShot kans trouw.
if (Math.round (Math.random () * chanceOfShot) == 0) {Als de if waar is een nieuwe exemplaar van de EnemyBullet sjabloon wordt gemaakt, geplaatst en de snelheid instellen
var kogel. IEntity = TemplateManager.instance.instantiateEntity (bulletEntityName); if (kogel = null!) {var ruimtelijke: Box2DSpatialComponent = bullet.lookupComponentByType (Box2DSpatialComponent) als Box2DSpatialComponent; spatial.position = new Point (position.x, position.y); spatial.linearVelocity = new Point (0, bulletSpeed); }}}}
We moeten een kleine wijziging in de PlayerControllerComponent maken naar de vijandelijke kogels kloppen de speler uit het scherm te stoppen. Als twee objecten botsen in een phy
Het maken van een Space Invaders kloon met PushButton - Hoofd Menu
- IPhone applicatie-ontwikkeling: Hoe vindt u het juiste bedrijf voor het maken va…
- Zwevende meer dan een HTML-element op een Line
- Gezondheid Industries zijn gekomen om uitdagingen HL7 Solutions
- Programmeur Door Heart
- Het omzetten van tekst naar HTML met PHP
- Variabele lengte Argument List
- PushButton Tutorial Series - Parallax Background
- Normale Argument Lijst in Php
- Css Text
- C ++ object georiënteerd Programming