Joystick Abfrage aktualisieren

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Ironsmurf
Beiträge: 111
Registriert: 04.01.2006 12:57
Computerausstattung: AMD FX(tm)-6300 Six-Core Processor
3.50 GHz / 8 GB Ram
Windows 7 / 64bit / Ultimate
Purebasic 5.20 LTS (Windows - x86)
Wohnort: Deutschland

Joystick Abfrage aktualisieren

Beitrag 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()
Es kommt immer auf die Sichtweise des Betrachters an.
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten