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

14.05.2011, 14:25

SDL Eventsystem Frage

Hallo!
Ich wollte mal nachfragen, ob es möglich ist, 2 Eventsysteme gleichzeitig abzufragen?

Ich erläre mal anhand eines Beispiels, was ich meine:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        if(SDL_PollEvent(&Event))
        {
            switch(Event.type)
            {
                case SDL_KEYDOWN:
                case SDL_MOUSEBUTTONDOWN:
                    {
                        switch(Event.key.keysym.sym | Event.button.button) //System für Tastatureingaben und Mauseingaben
                        {
                            //Linke Maustaste, oder linke Pfeilaste gedrückt
                            case SDLK_LEFT: 
                            case SDL_BUTTON_LEFT:
                                 {
                                 }break;
                                     .
                                     .
                                     .
                        }
                    }
             }
        }


Das es so nicht funktioniert verstehe ich schon, daher wüsste ich gerne, ob es irgendwie möglich ist, die Eventsysteme so miteinander zu "verknüpfen", dass man sie in der obrigen art verwenden kann?

Liebe Grüße,
Ombalat

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

2

14.05.2011, 17:26

Beim jeweiligen event eine bool Variable auf true setzen, dann hast dus eig. Jedenfalls so miteinander verknüpfen geht nicht. Die werte die brauchst musst du dann natürlich auch im jeweiligen Event speichern.
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

3

14.05.2011, 18:14

Und wie würde sowas aussehen?

Oke, das mit der Variable versteh ich soweit ...
ich mach einfach

C-/C++-Quelltext

1
2
3
bool eventact = false;
if(Event.key.keysym.sym || Event.button.button)
        eventact = true;


aber das filft mir ja bei meinem switch nicht weiter?
ich kann ja nicht die variable als bedingung nehmen, die hat ja nicht die events, die ich abfrage ...

wolltest du mir sagen, dass ich das einfach nicht machen kann und zwangsweise 2 switch - zweige verwenden muss?

EDIT: Wäre es in diesem fall gut, wenn man ne funktion schreibt, die man dann aussführt, falls z.B. die linke maus - taste und die linke pfeiltaste das selbe bewirken?

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »Ombalat« (14.05.2011, 20:04)


NachoMan

Community-Fossil

Beiträge: 3 885

Wohnort: Berlin

Beruf: (Nachhilfe)Lehrer (Mathematik, C++, Java, C#)

  • Private Nachricht senden

4

14.05.2011, 20:48

EDIT: Wäre es in diesem fall gut, wenn man ne funktion schreibt, die man dann aussführt, falls z.B. die linke maus - taste und die linke pfeiltaste das selbe bewirken?

nicht nur in diesem fall^^
"Der erste Trunk aus dem Becher der Erkenntnis macht einem zum Atheist, doch auf dem Grund des Bechers wartet Gott." - Werner Heisenberg
Biete Privatunterricht in Berlin und Online.
Kommt jemand mit Nach oMan?

Architekt

Community-Fossil

Beiträge: 2 481

Wohnort: Hamburg

Beruf: Student

  • Private Nachricht senden

5

14.05.2011, 22:09

Jap, das wäre wohl die beste Lösung ;)
Der einfachste Weg eine Kopie zu entfernen ist sie zu löschen.
- Stephan Schmidt -

6

14.05.2011, 23:40

Oke, vielen Dank für die Hilfe :)

Werbeanzeige