Hvordan legge til Missiles på objekter i HTML5 spill

February 4  by Eliza

Bilforretninger er nærtagende om installasjon våpen på turen, men det er derfor folk blir spillprogrammerere. Så du kan legge raketter til HTML5 spillobjektene. Hvis du vil ha raketter i din mini-van, youâ € ™ ll har raketter (i hvert fall i den virtuelle minivan). Massevis av videospill involverer skyting, og det er en ganske enkel effekt å legge til.

Hvordan legge til Missiles på objekter i HTML5 spill

Prosjektil grunnleggende for spillet ditt

Raketter, kuler og andre prosjektiler er ganske lett å jobbe med. Her er noen ideer for å huske på:

  • Prosjektilet er en sprite. Lag en ny sprite for prosjektilet. Du kan gjøre det til en enkel prikk, eller tegne en komplett rakett.
  • Gjøre en tilpasset sprite for missilet. Missilet vil trenge noen metoder, så du kan like godt gjøre det en skikk sprite.
  • Raketter dø når de forlater skjermen. Den enkleste måten å få dette problemet er å sette missilets boundAction å DØ.
  • Legg en brann () -metoden. Brannen () metoden vil aktiveres når missilet er avfyrt.
  • Gjenbruke samme rakett igjen og igjen. Gamle raketter aldri dø. De er bare skjult og gjenbrukes når brukeren skyter igjen. Når en rakett treffer noe, skjule missilet. Som vil gjøre det usynlig og ugjennomtrengelig for kollisjoner.

Hvordan å lansere spill raketter

Koden for missile.html er som mye av standardbilen koden du har sett:

<! DOCTYPE HTML>
<Html lang = "en-US">
<Head>
<Meta charset = "UTF-8">
<Title> missile.html </ title>
<Script type = "text / javascript"
src = "simpleGame.js"> </ script>
<Script type = "text / javascript">
Var spillet;
Var bil;
Var rakett;

funksjon Car () {
TCAR = ny Sprite (spill, "car.png", 50, 30);
tCar.setSpeed ​​(3);
tCar.setAngle (135);

tCar.checkKeys = function () {
if (keysDown [K_LEFT]) {
this.turnBy (-5);
}
if (keysDown [K_RIGHT]) {
this.turnBy (5);
}
if (keysDown [K_SPACE]) {
missile.fire ();
}
} // end checkKeys

returnere TCAR;
} // End bil def

fungere Missile () {
tMissile = ny Sprite (spill, "missile.png", 30,20);
tMissile.hide ();
tMissile.fire = function () {
this.show ();
tMissile.setSpeed ​​(15);
this.setBoundAction (DIE);
this.setPosition (car.x, car.y);
this.setAngle (car.getImgAngle ());
this.setImage ("missile.png");
this.setSpeed ​​(15);
} // End brann

returnere tMissile;
} // End rakett def

funksjon init () {
Spillet = ny Scene ();
bil = ny bil ();
rakett = ny Missile ();
game.start ();
} // End init

funksjon oppdatering () {
game.clear ();

car.checkKeys ();
car.update ();
missile.update ();
} // End oppdatering

</ Script>
</ Head>
<Body onload = "init ()">
</ Body>
</ Html>

Prosjektiler er mye moro å bygge, og de er ikke veldig vanskelig, som vist her:

  1. Bygge en normal sprite å lansere prosjektilet.

    Dette er ikke absolutt nødvendig, men vanligvis en kule blir avfyrt fra en pistol, vil en pil bli avfyrt fra en bue, og en kjernefysisk banan rakett blir avfyrt fra hva bilen har den slags ting.

  2. Prosjektilet vil være sin egen sprite.

    Prosjektilet fungerer akkurat som en vanlig sprite, men det vil bli opprettet og ødelagt dynamisk.

  3. Legg en trigger for å fyre av rakett.

    Fordi bilen startes missilet, er utløseren koden i bilens checkKeys metode.

  4. Still missilet å være skjult som standard.

    Missilet er alltid rundt, men det er skjult bak scenen når det ikke er nødvendig. Hvis du benytter en sprite gjemme () metoden, vil det sprite fortsatt være i minnet, men det vil ikke bli trukket, og det vil ikke utløse noen kollisjoner.

  5. Lag en brann () metode for missilet.

    Missilet sitter rundt venter på å bli aktivert. Brannen () metode springer missilet til handling.

  6. Gjør prosjektilet synlig.

    Showet () metoden er det motsatte av hide (). Det fører til en sprite å være synlige og trigger kollisjoner.

  7. Gi missilet en rask innledende hastighet.

    Som du vet, raketter er normalt rask.

  8. Skjule rakett når den treffer kanten.

    Når missilet treffer kanten av skjermen, må det være skjult. Stille missilets boundAction å DØ vil gjøre denne atferden automatisk.

  9. Skjule rakett hvis den treffer noe annet.

    Denne enkle eksempel ikke har noen andre gjenstander, men hvis missilet kolliderer med noe annet, påberope sin hide () metode for å simulere missilet blir ødelagt ved kontakt.

Etter at du har vanlig rakett atferd fungerer, kan du prøve en rekke interessante variasjoner:

  • Legg tyngdekraften til rakettene. Hvis det er en side scroller, legge til en gravitasjonskraft til din raketter for en orm-lignende effekt.
  • Legg til andre fysikk til raketter. Du kan lage rakettene har drag som alle andre sprite.
  • Lag en smart rakett. Bruk angleTo metode for å bestemme vinkelen mellom en rakett og et mål, og slår missilet mot målet på hver ramme. Dette vil simulere en smart rakett som aldri slår feil. (En stor makt-up, men det gjør spillet altfor lett hvis du har for mange.)
  • Gjør en ikke-så-smart rakett. Hvis fienden skyte en rakett mot spilleren, trenger du ikke ønsker det ganske så smart. Først må missilet sakte nok til at den kan løpe. Sekund, sette barrierer som kan ødelegge missilet i veien. Tredje, gjør missilet smart bare en gang i blant, slik at den kontrollerer posisjonen til målet hvert femte eller ti bilder.