Seite 1 von 1

Joystick Abfrage aktualisieren

Verfasst: 05.02.2007 18:00
von Ironsmurf
Hallo zusammen

wer hilft einem Anfänger, ich habe eine kleine Routine geschrieben, um einen Joystick abzufragen, es funktioniert auch, allerdings erhalte ich nur die richtigen Werte wenn ich ein Button am Joystick drücke und gedrückt halte während ich das Konsolen Programm starte, alle Bemühungen eine Schleife einzuarbeiten, das die Werte aktualisiert wenn andere Button gedrückt werden scheitern, habe das Script mit eingefügt.

Vielen Dank für eure Hilfe im voraus

Code: Alles auswählen

OpenConsole ()

AA = InitJoystick ()
If AA = 0 : PrintN("Joystick INIT ist INAKTIV") : EndIf
If AA = 1 : PrintN("Joystick INIT ist AKTIV") : EndIf
PrintN("")

BB = ExamineJoystick ()
If BB = 0 : PrintN("Joystick EXAMINE ist INAKTIV") : EndIf
If BB = 1 : PrintN("Joystick EXAMINE ist AKTIV") : EndIf
PrintN("")

;Test der BUTTONS & ACHSEN

Repeat

A1 = JoystickButton(1)
If A1 = 0 : PrintN ("Button A1 nicht gedrueckt") : EndIf
If A1 > 0 : PrintN ("Button A1 gedrueckt") : EndIf
PrintN("")

A2 = JoystickButton(2)
If A2 = 0 : PrintN ("Button A2 nicht gedrueckt") : EndIf
If A2 > 1 : PrintN ("Button A2 gedrueckt") : EndIf
PrintN("")

A3 = JoystickButton(3)
If A3 = 0 : PrintN ("Button A3 nicht gedrueckt") : EndIf
If A3 > 1 : PrintN ("Button A3 gedrueckt") : EndIf
PrintN("")

A4 = JoystickButton(4)
If A4 = 0 : PrintN ("Button A4 nicht gedrueckt") : EndIf
If A4 > 1 : PrintN ("Button A4 gedrueckt") : EndIf
PrintN("")

;Test X der Achsen

CC = JoystickAxisX()
If CC = 0  : PrintN("Stick ist MITTE") : EndIf
If CC < 0  : PrintN("Stick ist LINKS") : EndIf
If CC > 0  : PrintN("Stick ist RECHTS"): EndIf
PrintN("")
;Test Y der Achsen

DD = JoystickAxisX()
If DD = 0  : PrintN("Stick ist MITTE") : EndIf
If DD < 0  : PrintN("Stick ist OBEN") : EndIf
If DD > 0  : PrintN("Stick ist UNTEN"): EndIf
PrintN("")

PrintN("Bitte Taste druecken, um Abfrage erneut zu starten")
PrintN("")

Input()

ForEver

CloseConsole()

Verfasst: 05.02.2007 18:06
von Kaeru Gaman
ich würd erstmal das ende rausnehmen, also, das input auf jeden fall.

außerdem muss das ExamineJoystick mit in der schleife stehen,
das ist nämlich der befehl, der den aktuellen zustand ermittelt.
die anderen befehle dienen nur dazu,
das detail des mittels Examine geprüften zustands zu prüfen.

ich würde empfehlen:
bau dirn ein kleines screen-programm,
dass den joystick prüft und die ergebnisse grafisch anzeigt.
für eine console braucht man keinen joystick,
also ist das eine ungeeignete test-umgebung.