Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

28.06.2007, 21:02

Prgramm hängt bei Keyboardabfrage [gelöst]

Hallo,
Hier ist zunächst der Code der Probelme bereitet:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    playerone.set_key("up", playerone.catch_key(event)) ;//Methode wartet auf Keyboardeingabe und speichert diese ab
    while (found==0 and i<=10) {
        if (playerone.getkey("up")==T_Array[i]) {//Methode liefert SDLKey aus catchKey bzw. setKey
//T_Array Typ SDLKey, enthät die einzelnen Keys
            image = IMG_Load (B_Array[i].c_str());  
//B_Array Typ string, enthält die verschieden Dateinamen der Bilder.
            found=1;
            }
            i++;
        }
    if (image == NULL)
    {
       fprintf(stderr, "Das Bild konnte nicht geladen werden:%s\n",
         SDL_GetError());
       exit(-1);
    }

Die Methode funktioniert ohne Probleme. Das Programm hängt aber irgendwie in der Schleife fest, denke ich. Der Bildschirm bleibt schwarz und der Rest des Programms läuft nicht mehr weiter. Ohne die Schleife funktioniert alles.
Funktion der Schleife:
Die Schleife soll das erste Array nach einen bestimmten Eintrag durchsuchen, und falls einer gefunden wurde, das entsprechende Bild aus dem B_Array in Image speichern.

Sieht jemand einen Fehler?

grek40

Alter Hase

Beiträge: 1 491

Wohnort: Dresden

  • Private Nachricht senden

2

28.06.2007, 21:14

Ist es Absicht, dass playerone und playertwo gemischt in der Funktion auftreten? Mir erschiene es logischer, wenn die ganze Sache für einen Player gemacht wird...

3

29.06.2007, 16:30

Danke,
das ist definitiv falsch.
Habe den Fehler gefunden. Die Variable i sollte ich natürlich in der Schleife erhöhen und nicht mit in die Abfrage packen.

Werbeanzeige