Video: Fargekalibrering laserskriver 2024
Som standard antar HTML5-spillet akselerometer nøytral posisjon helt horisontal - det vil si at enheten ligger flatt på et bord. Men disse er mobile enheter, og spillere vil ofte ha den nøytrale posisjonen et annet sted.
Den grunnleggende teknikken for å kalibrere vippekontrollene er å holde oversikt over en offsetverdi for AX og AY. Når brukeren velger å kalibrere, endres offsetverdiene for å opprette en ny nøytral posisjon. Her er den aktuelle koden:
Accel. html var spill; var ball; var accel; var btnCalibrate; var offsetAX = 0; var offsetAY = 0; funksjon init () {game = new Scene (); ball = ny Sprite (spill, "redBall. png", 50, 50); Accel = Ny Accel (); btnCalibrate = ny GameButton ("kalibrere"); btnCalibrate. settSize (100, 100); btnCalibrate. settposisjon (100, 100); spill. start ();} // end init funksjonskontrollknapp () { hvis (btnCalibrate. isClicked ()) { offsetAY = accel. getAY (); offsetAX = accel. getAX (); } } funksjon oppdatering () {spill. klar(); checkButton (); newDX = accel. getAY () - offsetAY; newDY = accel. getAX () - offsetAX; newDX * = -5; newDY * = -5; ball. setDX (newDX); ball. setDY (newDY); ball. oppdatering ();}
På en eller annen måte må du utløse kalibreringen. For dette eksempelet legger du til en grunnleggende kalibreringsknapp. Slik fungerer det:
-
Legg til offsetAX og offsetAY variabler.
Disse to variablene angir hvor mye enhetens nøytralstilling er forskjellig fra standard flat-on-the-table-holdningen. Begynn variablene til verdi null.
-
Legg til en kalibreringsknapp.
For dette eksempelet kan brukeren rekalibrere ved å klikke på en knapp.
-
Sjekk om du trykker på en knapp.
En funksjon ble opprettet for å lese noen knappetrykk.
-
Hvis du trykker på knappen, får du nye offsetverdier.
Når knappen er aktiv, finn gjeldende AX- og AY-verdier ved å be dem fra Accel-objektet.
-
Trekk offsets fra øks og ay på hver ramme.
Før andre beregninger trekker du offsetAX fra AX og offsetAY fra AY. Dette vil effektivt sette den nye nøytralposisjonen til, men enheten ble satt siste gang knappen ble klikket.
Selv om en kalibreringsknapp er veldig enkel å implementere, blir kalibrering noen ganger gjort automatisk. Hvis du foretrekker, må du bare bestemme offsetAX og offsetAY under init () -funksjonen, og innstillingen av enheten under init () -funksjonen blir standardinnstillingen. Dette tillater ikke brukeren å tilbakestille kalibreringen, men det forhindrer cluttering av skjermen med en sjelden brukt knapp.