Xbox 360 Controller unter Blitz?

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

funkmaster5000

Betreff: Xbox 360 Controller unter Blitz?

BeitragDo, Jun 04, 2020 19:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,

im Moment mache ich bei einem Game Jam mit. Mein Spiel habe ich heute einem Freund zum Testen geschickt. Der hat mir zurück gemeldet, dass sein Xbox 360 Controller nicht erkannt würde. Ich habe leider keinen solchen Controller, bzw. nur einen SNES USB Controller - und der funktioniert.

Ich nutze JoyType, um zu prüfen, ob ein Controller angeschlossen ist. Offensichtlich fällt diese Prüfung negativ aus. Leider wohnen wir etwas weiter voneinander weg, sodass ich nicht einfach schnell vor Ort schauen kann.

Hat jemand Erfahrungen in dieser Hinsicht bzw. ob der Controller unter Blitz3D läuft? Danke.

Xeres

Moderator

BeitragDo, Jun 04, 2020 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mal alten code 'raus gerahmt und kurz getestet. Mein xbox 360 controller wird auf jeden Fall erkannt, die Tasten des Steuerkreuzes werden allerdings schon mal nicht als buttons gewertet.

BlitzBasic: [AUSKLAPPEN]
Graphics(800,600,0,2)
SetBuffer BackBuffer()
Local timer = CreateTimer(60)

Local joy_type$
Local JoyTest = JoyType(0)
If JoyTest = 0 Then RuntimeError("Kein Joystick/Gamepad angeschlossen!")
If JoyTest = 1 Then
joy_type$ = "Digital"
Else
joy_type$ = "Analog"
EndIf

Dim buttons$(16, 2)
Local PS2 = 0
Local XBOX360 = 1

buttons(1, PS2) = "Dreieck"
buttons(2, PS2) = "Kreis"
buttons(3, PS2) = "Kreuz"
buttons(4, PS2) = "Viereck"

buttons(6, PS2) = "R1"
buttons(8, PS2) = "R2"
buttons(12, PS2) = "R3"

buttons(5, PS2) = "L1"
buttons(7, PS2) = "L2"
buttons(11, PS2) = "L3"

buttons(13, PS2) = "LK_Up"
buttons(14, PS2) = "LK_Right"
buttons(15, PS2) = "LK_Down"
buttons(16, PS2) = "LK_Left"

buttons(9, PS2) = "Select"
buttons(10, PS2) = "Start"


buttons(1, XBOX360) = "A"
buttons(2, XBOX360) = "B"
buttons(3, XBOX360) = "X"
buttons(4, XBOX360) = "Y"

buttons(9, XBOX360) = "Left Stick"
buttons(10, XBOX360) = "Right Stick"

buttons(5, XBOX360) = "LB"
buttons(6, XBOX360) = "RB"

buttons(7, XBOX360) = "Select"
buttons(8, XBOX360) = "Start"

Local currentController = XBOX360
Repeat
Cls

Local button = WaitJoy(0)

Text(10,10, "Button Nr: "+button)
Text(10,25, buttons(button, currentController))

Text(10,100, "Type: "+joy_type)

Flip(0)
WaitTimer(timer)
Until KeyHit(1)

End


Edit
Steuerkreuz ist -1 wenn nichts gedrückt, oben ist 0, link oben 45, rechts 90 usw.
Linker Stick geht von X -1.0 (links) bis +1.0 (rechts) und Y -1.0 (oben) bis +1.0 (unten)
Rechter Stick geht von Pitch -180 (links) bis +180 (rechts) und Yaw -180 (oben) bis +180 (unten)
Z verändert sich wenn man LT oder RT drückt, aber das sind irgendwelche negativen Werte...
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)
  • Zuletzt bearbeitet von Xeres am Do, Jun 04, 2020 20:08, insgesamt 2-mal bearbeitet
 

funkmaster5000

BeitragDo, Jun 04, 2020 20:02
Antworten mit Zitat
Benutzer-Profile anzeigen
EDIT:
Ich konnte es lösen. Habe die .exe mit einer Version erstellt, bei der Directplay auskommentiert war. Nach Reaktivierung funktioniert der Controller wieder.

Hi, Danke für die schnelle Antwort.

Also so wie ich das sehe, könnten 2 Probleme vorliegen. Zum Auswerten der Eingaben habe ich JoyXDir und JoyYDir benutzt. Beim Xbox Controller wären wahrscheinlich JoyY usw. angebracht, oder?

Bleibt noch das Problem des "nicht erkennens".

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group