spela demo Omdömen
ladda ner källkoden Omdömen
TILLBAKA TILL Handledningen INDEX Omdömen
I den sista handledningen har vi lagt en komponent för att tillåta enheter att förstöras på kollision. Detta kringgås HealthComponent används av fiendens enheter, men nu kommer vi full cirkel och lägg en HealthComponent till spelaren så att den kan skadas av fiendens kulor. Här lägger vi HealthComponent, och ange att spelet har en initial hälsa 5. Omdömen
Kod Omdömen
För spelaren att skjutas vi behöver för att skapa en ny enhet mall.
Detta är nästan en exakt kopia av EnemyBullet mallen, utom enhet typ och kollisionstyper ändras för att identifiera det som en kula skjuten av en fiende och kollidera med spelaren. Omdömen
Kod Omdömen
EnemyControllerComponent .as
Precis som PlayerControllerComponent, vilket skapar en ny PlayerBullet enhet när mellanslagstangenten har tryckts, den EnemyControllerComponent kommer slumpmässigt att skapa en ny EnemyBullet enhet. Omdömen
timeToNextShot variabel, som används för att styra hur lång tid mellan varje möjlig avfyrning av en kula, räknas ned till 0.
Omdömen
public override function onTick (tickrate: Number): void {//... timeToNextShot - = tickrate; timeToNextShot = timeToNextShotNär timeToNextShot når 0 fienden kommer att ha en chans att skjuta en kula. Den timeToNextShot återställs för att starta nedräkningen igen Omdömen
if (timeToNextShot == 0) {timeToNextShot = timeBetweenShots;.Vi vill att dessa skott för att vara slumpmässigt, så vi använder chanceOfShot variabel med slumpfunktion för att avgöra om ett skott bör vidtas. Följande if har en 1 i chanceOfShot chans att vara sant. Omdömen
if (Math.round (Math.random () * chanceOfShot) == 0) {
Om if vara sant en ny instans av EnemyBullet mallen skapas, positioneras och hastigheten inställd Omdömen
var bullet. IEntity = TemplateManager.instance.instantiateEntity (bulletEntityName); if (kula = null!) {var rumsliga: Box2DSpatialComponent = bullet.lookupComponentByType (Box2DSpatialComponent) såsom Box2DSpatialComponent; spatial.position = new Point (position.x, position.y); spatial.linearVelocity = new Point (0, bulletSpeed); }}}}
Vi måste göra en liten förändring till PlayerControllerComponent att stoppa fiendens kulor knackar spelaren utanför skärmen. När två objekt kolliderar i en fysik system som de inte bara stoppa död - om de kolliderar huvudet på med samma kraft kommer alltid stöta den andra t
Att göra en Space Invaders klon med tryckknapp - huvud Menu
- Manipulera Redigera Kontroll Text
- Lär känna Windows
- Abstrakt Factory Design Pattern
- Ställa frågor Sybase Database
- Tilldelningsoperatorer i Php
- Away3D Programming Tutorial - Miljö Material
- Introduktion till makron i C
- Perl Hänvisning till en Scalar
- Tre Java Myter Debunked
- Utför Smärtfri Seo med bästa Firefox Extensions