*   >> lukeminen koulutus Artikkelit >> science >> programming

Making Space Invaders klooni PushButton - Bullets

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 ()

Page   <<       [1] [2] [3] >>
Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.