Toista DEMO
ladata lähdekoodin
TAKAISIN TUTORIAL INDEX
Viime opetusohjelmassa lisäsimme komponentti jotta yhteisöille hävitettäväksi törmäyksessä. Tämä ohittaa HealthComponent käyttämä vihollisen yksiköt, mutta nyt tulemme täyden ympyrän ja lisätä HealthComponent soittimeen niin se voi vaurioittaa vihollisen luodit. Tässä lisäämme HealthComponent, ja täsmentää, että leikki on aluksi terveyden 5.
Koodi
pelaaja ampua meidän on luotava uuden yrityksen malli.
Tämä on lähes tarkka kopio EnemyBullet mallin, paitsi yksikön tyypin ja törmäys tyypit muutetaan tunnistaa sen luoti ampumia vihollinen ja törmätä pelaaja.
Koodi
EnemyControllerComponent .as
Aivan kuten PlayerControllerComponent, joka luo uuden PlayerBullet yksikön kun välilyöntiä on painettu, EnemyControllerComponent satunnaisesti luo uuden EnemyBullet kokonaisuus.
timeToNextShot muuttuja, jota käytetään valvonta paljon aikaa keskenään mahdollisimman ampumisen luoti, lasketaan alas 0.
julkisen Ohitustoiminto onTick (tickRate: Numero): void {//...timeToNextShot - = tickRate; timeToNextShot = timeToNextShot
Kun timeToNextShot saavuttaa 0 vihollinen on mahdollisuus ampua luodin. TimeToNextShot nollataan aloittaa kulua uudelleen.
jos (timeToNextShot == 0) {timeToNextShot = timeBetweenShots;Haluamme nämä kuvat olla satunnainen, joten käytämme chanceOfShot muuttuja satunnaistoiminto onko laukaus on otettava. Seuraavat jos ilmoitus on 1 chanceOfShot mahdollisuudet tulla totta.
jos (Math.round (Math.random () * chanceOfShot) == 0) {
Jos jos ilmoitus olla totta uusi esiintymä EnemyBullet malli luodaan, sijoitetaan ja nopeus asetettu.
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, bulletSpeed); }}}}
Meidän on tehtävä pieni muutos PlayerControllerComponent lopettaa vihollisen luodit koputtaa pelaaja pois ruudulta. Kun kaksi objektia törmäävät fysiikan järjestelmä he eivät vain lopeta kuollut - elleivät he törmäävät pään yhtä lailla yksi poikkeuksetta kolahtaa muiden uuteen asentoon, kuten kaksi biljardi pallot. Tämä on luonnollinen reaktio, mutta meidän tapauksessamme emme halua vihollisen luodi
Making Space Invaders klooni PushButton - Pääsivu Menu
- Pseudo Classes
- Kyselyitä MySQL Database
- Peruskomennot: Batch File Programming
- Tietokanta N-To-N Relationships
- Konsoli Hakemus soittamalla Tapahtuma käyttäen edustaja C # 1.1 ja 2.0 ( Dot N…
- Simuloidaan onmouseout Tapahtuma-Web-sivu Layers
- Aloitusopas C
- Aloittaminen Javascript
- Täytäntöönpanosta Tietokanta Sybase
- Lopeta kuvan sivulle ilman Virkistävä - Asynchronous Image File Upload Ilman A…