Video: Leap Motion SDK 2024
Mobile enheter har en veldig spennende inngangsmekanisme som lar deg styre objekter i et HTML5-spill ved å vippe. Dette fungerer med et spesielt ombordverktøy som kalles akselerometeret , som sporer bevegelse. Accelerometeret måler faktisk rotasjon, og du kan bruke den til å få fine vippekontroller i spillet ditt.
SimpleGame-biblioteket har et spesielt objekt kalt Accel som inkapsler akselerometeret. Det fungerer veldig mye som Joy-objektet.
-
Opprett et Accel-objekt.
SimpleGame har et Accel-objekt. Lag dette objektet for å slå på akselerometerprøving.
-
Bruk metoder for å bestemme tilt.
Accel-objektet har spesielle metoder som kalles getAX () og getAY () som angir rotasjonsbeløpet.
-
Endre akselerasjonsverdier.
AX og AY-verdiene viser hvor mye rotasjon rundt henholdsvis X- og Y-aksen. Verdiene varierer fra -9 til 9. Generelt må du endre tiltverdiene for å få akkurat den oppførselen du vil ha. Dette innebærer vanligvis noen enkle matematiske beregninger.
Her er koden for accel. html:
accel. html var spill; var ball; var accel funksjon init () {game = new Scene (); ball = ny Sprite (spill, "redBall. png", 50, 50); accel = ny Accel (); spill. start ();} // end init funksjon oppdatering () {spill. klar(); newDX = accel. getAY (); newDY = accel. getAX (); newDX * = -5; newDY * = -5; ball. setDX (newDX); ball. setDY (newDY); ball. oppdatering ();}
Akselerometeret er enkelt å bruke:
-
Lag en variabel for å holde akselerometerobjektet.
Du kan ringe variabelen accel.
-
Bruk accel. getAX () for å rotere rundt X.
Metoden getAX () returnerer prosentandelen av tilt rundt X-aksen. X-aksen går fra side til side på skjermen, så rotasjon rundt X er normalt bundet til bevegelse langs Y-aksen!
-
Bruk acccel. getAY () for å bestemme rotasjonen rundt Y.
På samme måte beskriver metoden getAY () metoden for helling langs den (vertikale) Y-aksen. Normalt bruker du getAY () for å kontrollere horisontal bevegelse.
-
Ikke vær bekymret for Z-aksen.
Du kan også lese rotasjon langs Z-aksen (som går fra midten av skjermen til nesen din), men dette er generelt ikke nyttig.
-
Anta (for nå) at nøytralposisjonen ligger perfekt flatt på et bord.
Du får nullverdier for getAX () og getAY () når enheten ligger helt stille på et perfekt flatt bord.
-
Eksperiment med skaleringsfaktorer.
Du må generelt multiplisere resultatene getAX () og getAY () med litt for å få den oppførselen du vil ha. Hvis du multipliserer begge med negativ fem, får du passende verdier for dy og dx. Du må eksperimentere for å få akkurat den oppførselen du vil ha.