Serwis Edukacyjny
Nauczycieli
w I-LO w Tarnowie

obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

Autor artykułu: mgr Jerzy Wałaszek

©2021 mgr Jerzy Wałaszek
I LO w Tarnowie

SDL2

Interfejs SDL2:

SDL_PollEvent

SPIS TREŚCI

Rozdział jest tłumaczeniem oryginalnej instrukcji dla biblioteki SDL2. Oryginał znajdziesz pod tym adresem: https://wiki.libsdl.org/CategoryAPI.

SDL_PollEvent

Użyj tej funkcji, aby pobrać z kolejki zdarzeń oczekujące tam zdarzenie.

Składnia

int SDL_PollEvent(SDL_Event* event)

Parametry funkcji

event struktura SDL_Event do wypełnienia zdarzeniem pobranym z kolejki lub NULL

Wartość zwracana

Zwraca 1, jeśli zostało pobrane zdarzenie z kolejki do struktury event, lub 0, jeśli kolejka zdarzeń była pusta.

Przykładowy kod

while (1) // Pętla nieskończona
{
    SDL_Event event;
    while (SDL_PollEvent(&event))
    {
        /* tutaj obsłuż pobrane zdarzenie */
    }
    /* tutaj zrób coś innego - narysuj coś, itp. */
}

Uwagi

Jeśli parametr event jest różny od NULL,  to z kolejki zostanie pobrane i usunięte następne oczekujące tam zdarzenie, po czym zdarzenie będzie umieszczone w strukturze wskazanej przez event.

Jeśli parametr event ma wartość NULL, to po prostu funkcja zwróci 1, jeśli w kolejce zdarzeń oczekuje zdarzenie, lecz nie usunie go z tej kolejki. Jeśli kolejka będzie pusta, to funkcja zwróci 0.

Ponieważ funkcja ta niejawnie wywołuje SDL_PumpEvents(), możesz ją wywołać tylko w wątku, który ustawił tryb wyświetlania.

SDL_PollEvent() jest ulubionym sposobem otrzymywania zdarzeń systemowych, ponieważ można to zrobić z pętli głównej bez zawieszania jej działania podczas oczekiwania na wysłanie zdarzenia.

Powiązane funkcje

Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2021 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.