Beschleunigungssensor Angleichen

  • Android

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Beschleunigungssensor Angleichen

    Hallo alle miteinander,

    folgende Frage stellt sich mir beim erstellen eines Spieles für Android. In meinem Spiel wird die Spielfigur durch diesen Code gesteuert:

    GML-Quellcode

    1. hspd -= hspd / 6;
    2. if (device_get_tilt_x()>0.5) {hspd -= myspeed;}
    3. if (device_get_tilt_x()<0.5) {hspd += myspeed;}
    4. repeat (abs(hspd)) {
    5. if (place_free(x + sign(hspd), y))
    6. x += sign(hspd);
    7. }
    8. if(hspeed > 12) {hspeed= 12;}
    9. if(hspeed < -12) {hspeed= -12;}
    Alles anzeigen


    Aber zwei Probleme treten hier auf. Zum einen ist der Bewegungssensor nicht korrekt adjustiert.
    Zum anderen ist die Spielfigur mit der obigen Steuerung immer in Bewegung.

    Wie löse ich die Problematik am besten?
  • Zitat aus der Hilfe zu device_get_tilt_x():
    This function returns a value between -1 and 1 depending upon the the angle of "tilt" of the device. The actual correlation between degrees of tilt and the value returned depends on the device and OS that it uses, but generally a value of 1 or -1 is the same as +/-90°. The image below shows how each if the available functions relates to the device :

    Also ist nicht 0.5 der neutrale Mittelwert sondern 0 !

    Außerdem solltest du das ganze "smooth" gestalten und nicht per ja-nein Prinizip.

    Versuch mal das:

    GML-Quellcode

    1. if (device_get_tilt_x()>0) {hspd -= device_get_tilt_x()*myspeed;}
    2. if (device_get_tilt_x()<0) {hspd += (-device_get_tilt_x())*myspeed;}
    Damit sollte sich der Spieler nur beim Anwinkeln um 90° mit der Geschwindigkeit myspeed bewegen.

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)