Sehr geehrtes Forum,
ich habe ein Problem mit der JoyStick abfrage in SDL.
In der Api wird ja ganz leicht erklärt wie man events abfängt, und wie ich ein JoyStick initialisiere weiß ich auch, es geht nur darum, dass ich bei meinen Optionen, von einem Spiel, wenn ich da auf Joystick konfigurieren gehe, soll der dort erst mal checken, ob ein Joystick vorhanden ist, wenn nicht, wird ein Dialog geöffnet, und man kann sich entscheiden das ganze zu wiederholen, und noch erneut zu checken ob das GamePad vorhanden ist, oder ob man das abbrechen möchte, so ist mein Code :
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
|
stick = SDL_JoystickOpen( 0 );
while(stick==NULL)
{
int answer = MessageBox (NULL, "Es konnte kein GamePad/JoyStick auf ihrem PC gefunden werden.\nBitten prüfen Sie ob das Gerät mit Ihrem Computer verbunden ist.\nSoll die Konfiguration des JoySticks/GamePads wiederholt werden oder abgebrochen werden?","Fehler beim Konfigurieren des GamePads/JoySticks",MB_RETRYCANCEL);
if(answer==1)
{
gpause = false;
options.gps = old;
break;
}
stick = SDL_JoystickOpen( 0 );
}
|
gpause ist ein bool mit dem nach der Schleife gearbeitet wird.
options ist ein struct, und hat das Member gps, (GamePadPause) ein Integer, der speichert welcher Button auf dem Gamepad gedrückt werden soll, um das Spiel zu pausieren, und old ist der alte Wer (gps wird nämlich vor der Schleife auf null gesetzt.
stick ist, wie ihr euch sicherlich denken könnt ein SDL_Joystick *stick;
Ja und wenn ich das jetzt starte, kann ich auch auf abbrechen klicken, die Schleife wird nicht beendet, wieso?
Wenn ich das Joystick dann, wenn der Dialog erschienen ist, anschließe, geht das ebenso nicht, wenn ich dann auf wiederholen klicke.
Könnte einer von euch vielleicht sagen worans liegen könnte?
M.f.G. Developer_X