سلام!

موضوع این مطلب، event های SDL است. برای شناختن event ها به تعریف دقیقی نیاز ندارید. برای شناختن مفهوم آن کافی است که بدانید که حرکت ماوس، فشردن یک دکمه از keyboard و یا رهاسازی آن همگی نوعی event هستند.

SDL تمامی event هایی را که برای پنجره اش اتّفاق می افتد، در یک صف ذخیره می کند (به طوری که اوّلین event صف، event ای است که زودتر از همه اتفاق افتاده است.).

SDL نوع جدیدی از متغیّر را تعریف کرده است که می توان در آن یک event را ذخیره کرد.

SDL_Event event;

در SDL یک تابع هم وجود دارد که می توان با آن اوّلین event موجود در صف را برداشت و به آن دسترسی داشت.

int SDL_PollEvent( SDL_Event* );

خروجی این تابع در صورتی که در آن صف event ای باشد ۱ و در غیر این صورت ۰ خواهد بود. برای همین هم می توان با کمک آن فهمید که event ای وجود دارد یا نه.

while ( SDL_PollEvent( &event ) )
//    Handle event here

این while باید درون یک while کلّی تر باشد تا به طور مرتب event ها بررسی شوند. پس کد نهایی به صورت زیر خواهد بود.

while ( 1 )
    while ( SDL_PollEvent( &event ) )
//        Handle event here

جلسه ی بعد با انواع مقدار های ممکن برای یک SDL_Event و خصوصیات هر کدام آشنا خواهید شد.

موفق باشید!