Toista DEMO
ladata lähdekoodin
TAKAISIN TUTORIAL INDEX
Tähän asti olemme käyttäneet XML yhteisö ja taso määritelmiä keinona tai määrittelyyn ja luomiseen yhteisöihin eli jokainen yksikkö XML-tiedostoja syntyy, kun taso on ladattu. Tämä ei ole järkevää luoteja vaikka, kuten ne luodaan vastauksena näppäimistön. Painike mahdollistaa tämän antamalla meille mahdollisuuden instantiate yhteisö määritelty XML-tiedostot nimen suorituksen.
Ensin on määriteltävä luoti kokonaisuus. Tämä tehdään mallina.
Koodi luoti malli sisältää samat maankäytön, renderöinti ja animaatio komponentteja vihollinen määrittelimme ensimmäisessä opetusohjelma.
Koodi
uusi osatekijä nimeltä DestroyIfOffScreenComponent on luotu. Sen tarkoituksena on poistaa hankintayksikön peliä, kun se on siirtynyt pois ruudulta. Tämä on kätevä tapa puhdistaa yksiköt, joita ei enää käyttökelpoisia.
Koodi
Lisäksi uusi osatekijä nimeltä DamageOnContactConponent mukaan yhteisö, kuin luoti, vahingoittavat toisen yksikön sitä törmää.
Varsinainen logiikka hallita terveyden yksikön ei lisätä tässä opetusohjelmassa, joten DamageOnContactConponent komponentti yksinkertaisesti poistaa yksikkö, jolle se on kiinnitetty, kun törmäys tapahtuu.
Koodi
Jos katsot tarkkaan collisionType ja collidesWithTypes ominaisuuksia Box2DSpatialComponent komponenttia ei asetettu Bullet malliin. Tämä johtuu siitä, että lopulta haluamme olla kahdenlaisia luoteja - ne potkut pelaaja ja ne potkut vihollinen. Mukautumaan tähän me määrittelemme uuden mallin nimeltään PlayerBullet, joka perustuu Bullet malliin.
Täällä me määrittelemme PlayerBullet kokonaisuutena, joka törmää vihollisia.
Koodi
Enemy malli on muutettu niin, että se törmää yksiköiden perustuu pois PlayerBullet sapluuna.
koodi
Viimeinen muutos on PlayerControllerComponent, joka saa uuden ominaisuuden nimeltään bulletEntityName, jossa määritellään nimen mallin, josta luoda pelaajille luoteja.
Koodi
< p> koodi DamageOnContactConponent komponentti on melko yksinkertainen tässä vaiheessa, koska emme ole toteutettu logiikka todella aiheuttaa vahinkoa.
Nyt se kuuntelee törmäyksen ja poistaa yksikkö, jolle se kuuluu pelin.
public class DamageOnContactConponent ulottuu EntityComponent {julkinen var vahinko: int = 0; julkisessa tehtävässä DamageOnContactConponent () {Super (); } Suojattu Ohitustoiminto onAdd (): void {super.onAdd ()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