Hvordan bruke Reset Metode for din HTML5 spill

September 10  by Eliza

Når to objekter kolliderer i HTML5 spill, betyr det ofte noe viktig. Det er der den reset metoden kommer i. Du vil ofte ønsker å endre score, spille av en lyd, redusere antall liv, eller noe. Men hvis disse objektene beveger seg sakte, kan de overlapper for flere svinger.

Generelt, spillprogrammerere unngå dette ved å bruke en enkel regel:. Når to ting kolliderer, flytte eller drepe en av dem For denne søknaden, blir sparket spist av frosk, og en ny flue vises. Selvfølgelig, det er bare en illusjon. Det samme fly blir resirkulert og slett vises i en ny plass.

Du kan se fly.reset () -metoden samtale i oppdateringen () -funksjonen, men nå må du legge til at metoden for å fly definisjon i frogLib.js. Ta en titt på den endelige versjonen av Fly klasse:

funksjon Fly () {
tFly = ny Sprite (scene, "fly.png", 20, 20);
tFly.setSpeed ​​(10);
tFly.wriggle = function () {
// Endre retning av noen tilfeldig mengde
newDir = (Math.random () * 90) - 45;
this.changeAngleBy (newDir);
} // End sno seg
tFly.reset = function () {
// Satt ny tilfeldig posisjon
newX = Math.random () * this.cWidth;
newy = Math.random () * this.cHeight;
this.setPosition (newX, newy);
} // End reset
tFly.reset ();
returnere tFly;
} // End Fly

Reset () metoden gjelder en ny tilfeldig posisjon til å fly. Slik fungerer det:

  1. Generere et tilfeldig tall mellom 0 og 1.

    Den Math.random () funksjon innebygd i Javascript gjør dette.

  2. Multipliser denne verdien av lerretet bredde.

    Lerretet bredde er lagret i hver sprite er cWidth eiendom.

  3. Still sprite er x-verdien til den resulterende tilfeldige tall.

    Dette genererer en tilfeldig verdi mellom 0 og bredden av skjermen.

  4. Gjenta for y-verdien.

    Beregne en ny Y posisjon på samme måte, men denne gangen multipliseres med sprite er cHeight eiendom.

  5. Tilbakestill den midlertidige fly før de returnerer den.

    Hvis du kaller flua reset () metoden før du returnerer den, garanterer deg at flua begynner i en tilfeldig posisjon.