Video: How to Re-calibrate SYMA Quadcopters X5C X5SW 2024
Som standard antar HTML5-spelaccelerometern det neutrala läget helt horisontellt - det vill säga att enheten ligger platt på ett bord. Men det här är mobila enheter, och spelare vill ofta ha det neutrala stället att vara någon annanstans.
Den grundläggande tekniken för att kalibrera lutningskontrollerna är att hålla reda på ett offsetvärde för AX och AY. När användaren väljer att kalibrera, ändras förskjutningsvärdena för att skapa ett nytt neutralt läge. Här är den relevanta koden:
accel. html var spel; var boll; var accel; var btnCalibrate; var offsetAX = 0; var offsetAY = 0; funktion init () {game = new Scene (); boll = ny Sprite (spel, "redBall. png", 50, 50); accel = ny Accel (); btnCalibrate = ny GameButton ("kalibrera"); btnCalibrate. setSize (100, 100); btnCalibrate. setPosition (100, 100); spel. start ();} // end init funktionskontrollknapp () { om (btnCalibrate. isClicked ()) { offsetAY = accel. getAY (); offsetAX = accel. getAX (); } } funktionsuppdatering () {spel. klar(); checkButton (); newDX = accel. getAY () - offsetAY; newDY = accel. getAX () - offsetAX; newDX * = -5; newDY * = -5; boll. setDX (newDX); boll. setDY (newDY); boll. uppdatering ();}
På något sätt måste du utlösa kalibreringen. För det här exemplet lägger du till en grundläggande kalibreringsknapp. Så här fungerar det:
-
Lägg till offsetAX och offsetAY-variabler.
Dessa två variabler anger hur mycket enhetens neutralläge är annorlunda än standardinställningen på plattan. Börja variablerna med värdet noll.
-
Lägg till en kalibreringsknapp.
För det här exemplet kan användaren kalibrera igen genom att klicka på en knapp.
-
Kontrollera en knapptryckning.
En funktion skapades för att läsa några knapptryckningar.
-
Om du trycker på knappen, få nya offsetvärden.
När knappen är aktiv, hitta aktuella AX- och AY-värden genom att be dem från Accel-objektet.
-
Subtrahera förskjutningar från ax och ay på varje ram.
För några andra beräkningar, subtrahera offsetAX från AX och offsetAY från AY. Detta kommer effektivt att ställa in det nya neutralläge, dock var enheten inställd sista gången knappen klickades.
Även om en kalibreringsknapp är väldigt lätt att implementera, görs kalibrering ibland automatiskt. Om du föredrar, bestämmer du bara offsetAX och offsetAY under init () -funktionen, och inställningen hos enheten under init () -funktionen blir standardinställningen. Detta tillåter inte användaren att återställa kalibreringen, men det förhindrar att cluttering skärmen med en sällan använd knapp.