F
fisherman
Neues Mitglied
- 0
Hallo,
ich bastle gerade an den ersten Versuchen eines einfach Spiels. Die Steuerung soll dabei über den Lagesensor funktionieren, genauer gesagt indem ich das Handy nach links oder rechts drehe (um die z-Achse). Mit Android 1.5 gibt es hierfür wohl den OrientationEventListener. Über diesen EventListener kann man die Methode onOrientationChanged implementieren, die als Parameter den Winkel (0-360°) mit gibt.
Von meiner View-Klasse aus starte ich einen Thread zur Bearbeitung des Spielgeschehens. Allerdings funktioniert das wohl nicht ganz, da ich seit der Implementierung nur einen schwarzen Bildschirm angezeigt bekomme. Beim Debuggen komme ich leider auch nicht weiter als bis zur ersten Zeile der folgenden Methode:
Die Methode initSensor() rufe ich derzeit in meiner Threadklasse in der run() Methode auf, kurz bevor die "Spiel"-Schleife startet. Die Eigenschaft gameView ist eine Referenz auf mein View-Objekt. Könnte mir vorstellen, dass der EventListener sich nicht ganz mit dem Thread verträgt, weiß derzeit aber nicht wie ich die Sache anders angehen kann, da ich was Java betrifft etwas eingerostet bin.
EDIT: Ich teste den ganzen Spaß derzeit nur mit dem Emulator, da ich selbst noch kein stolzer Besitzer eines Android-Handys bin.
Vielen Dank im Voraus für jeden Hinweis der mich weiterbringt.
fisherman
ich bastle gerade an den ersten Versuchen eines einfach Spiels. Die Steuerung soll dabei über den Lagesensor funktionieren, genauer gesagt indem ich das Handy nach links oder rechts drehe (um die z-Achse). Mit Android 1.5 gibt es hierfür wohl den OrientationEventListener. Über diesen EventListener kann man die Methode onOrientationChanged implementieren, die als Parameter den Winkel (0-360°) mit gibt.
Von meiner View-Klasse aus starte ich einen Thread zur Bearbeitung des Spielgeschehens. Allerdings funktioniert das wohl nicht ganz, da ich seit der Implementierung nur einen schwarzen Bildschirm angezeigt bekomme. Beim Debuggen komme ich leider auch nicht weiter als bis zur ersten Zeile der folgenden Methode:
Code:
private void initSensor(){
OrientationEventListener orientationListener = new OrientationEventListener(gameView.getContext(), SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int orientation) {
gameView.rotate((float)orientation);
}
};
orientationListener.enable();
}
EDIT: Ich teste den ganzen Spaß derzeit nur mit dem Emulator, da ich selbst noch kein stolzer Besitzer eines Android-Handys bin.
Vielen Dank im Voraus für jeden Hinweis der mich weiterbringt.
fisherman
Zuletzt bearbeitet: