Video: H520 - Accelerometer kalibrieren (DE) 2025
Standardmäßig nimmt der HTML5-Spielbeschleunigungsmesser die neutrale Position der perfekt horizontalen Position ein - das heißt, das Gerät liegt flach auf einem Tisch. Dies sind jedoch mobile Geräte, und Spieler wollen oft, dass die neutrale Position woanders ist.
Die grundlegende Technik zum Kalibrieren von Neigungssteuerungen besteht darin, einen Offsetwert für AX und AY zu verfolgen. Wenn der Benutzer eine Neukalibrierung wählt, werden die Versatzwerte geändert, um eine neue neutrale Position zu erhalten. Hier ist der relevante Code:
Beschleunigung html var Spiel; var Ball; var Beschleunigung; var btnCalibrieren; var offsetAX = 0; var offsetAY = 0; function init () {game = neue Szene (); ball = neues Sprite (Spiel, "redBall. png", 50, 50); accel = new Accel (); btnCalibrate = neuer GameButton ("kalibrieren"); btnKalibrieren. setSize (100, 100); btnKalibrieren. setPosition (100, 100); Spiel. start ();} // end init function checkButton () { if (btnCalibrate. isClicked ()) { offsetAY = Beschleunigung. getAY (); offsetAX = Beschleunigung getAX (); } } Funktion update () {Spiel. klar(); checkButton (); newDX = Beschleunigung getAY () - offsetAY; newDY = Beschleunigung getAX () - offsetAX; newDX * = -5; newDY * = -5; Ball. setDX (neuDX); Ball. setDY (neuDY); Ball. update ();}
Irgendwie muss die Kalibrierung ausgelöst werden. In diesem Beispiel fügen Sie eine grundlegende Kalibrierungsschaltfläche hinzu. So funktioniert es:
-
add offsetAX und offsetAY Variablen.
Diese beiden Variablen geben an, wie stark sich die neutrale Position des Geräts von der Standard-Flat-on-the-Table-Haltung unterscheidet. Beginnen Sie die Variablen mit dem Wert Null.
-
Fügen Sie eine Kalibrierungsschaltfläche hinzu.
Für dieses Beispiel kann der Benutzer eine neue Kalibrierung durchführen, indem er auf eine Schaltfläche klickt.
-
Prüfen Sie, ob eine Taste gedrückt wird.
Es wurde eine Funktion zum Lesen von Tastendrucken erstellt.
-
Wenn die Schaltfläche gedrückt wird, erhalten Sie neue Offsetwerte.
Wenn die Schaltfläche aktiv ist, suchen Sie die aktuellen AX- und AY-Werte, indem Sie sie vom Accel-Objekt anfordern.
-
Subtrahiert die Offsets von ax und ay in jedem Frame.
Vor allen anderen Berechnungen subtrahieren Sie den OffsetAX von AX und offsetAY von AY. Dadurch wird effektiv die neue neutrale Position festgelegt, auf die das Gerät beim letzten Anklicken der Schaltfläche eingestellt war.
Obwohl eine Kalibriertaste sehr einfach zu implementieren ist, erfolgt die Kalibrierung manchmal automatisch. Wenn Sie es vorziehen, bestimmen Sie einfach offsetAX und offsetAY während der init () - Funktion, und die Einstellung des Geräts während der init () - Funktion wird zur Standardeinstellung. Dies ermöglicht es dem Benutzer nicht, die Kalibrierung zurückzusetzen, aber es verhindert, dass der Bildschirm mit einer selten verwendeten Taste überladen wird.
