sdl事件是諸如按鍵,滑鼠移動,操縱按鈕按下之類的東西。
在內部,sdl將所有等待處理的事件儲存在事件佇列中。首選方式是使用sdl_pollevent()接收系統事件。它可以從主迴圈完成,並且在等待事件發布時不會掛起主迴圈。如果佇列上沒有事件,則返回0,否則返回1。
定義是否退出的標誌isquit初始值設定為0,表示不退出。
我們使用while迴圈依次處理每個事件,直到遇到sdl_quit事件,退出迴圈結束程序。
int isquit =0;
while
(!isquit)
}printf
("event queue empty.\n"
);
除了從sdl中取事件外,我們也可以自定義事件,放到時間處理佇列中。
sdl_event user_event;
user_event.type = sdl_userevent;
user_event.user.code =2;
user_event.user.data1 =
null
;user_event.user.data2 =
null
;sdl_pushevent
(&user_event)
;
sdl_event是sdl中使用的所有事件結構的並集。 使用它很簡單,只需知道哪種事件型別對應於哪個聯合成員即可。 下表列出了這些關係
event type
event structure
sdl_event field
sdl_audiodeviceadded sdl_audiodeviceremoved
sdl_audiodeviceevent
adevice
sdl_controlleraxismotion
sdl_controlleraxisevent
caxis
sdl_controllerbuttondown sdl_controllerbuttonup
sdl_controllerbuttonevent
cbutton
sdl_controllerdeviceevent
cdevice
sdl_dollargesture sdl_dollarrecord
sdl_dollargestureevent
dgesture
sdl_dropfile sdl_droptext sdl_dropbegin sdl_dropcomplete
sdl_dropevent
drop
sdl_fingermotion sdl_fingerdown sdl_fingerup
sdl_touchfingerevent
tfinger
sdl_keydown sdl_keyup
sdl_keyboardevent
key
sdl_joyaxismotion
sdl_joyaxisevent
jaxis
sdl_joyballmotion
sdl_joyballevent
jball
sdl_joyhatmotion
sdl_joyhatevent
jhat
sdl_joybuttondown sdl_joybuttonup
sdl_joybuttonevent
jbutton
sdl_joydeviceadded sdl_joydeviceremoved
sdl_joydeviceevent
jdevice
sdl_mousemotion
sdl_mousemotionevent
motion
sdl_mousebuttondown sdl_mousebuttonup
sdl_mousebuttonevent
button
sdl_mousewheel
sdl_mousewheelevent
wheel
sdl_multigesture
sdl_multigestureevent
mgesture
sdl_quit
sdl_quitevent
quit
sdl_syswmevent
sdl_syswmevent
syswm
sdl_textediting
sdl_texteditingevent
edit
sdl_textinput
sdl_textinputevent
text
sdl_userevent
sdl_userevent
user
sdl_windowevent
sdl_windowevent
window
other events
sdl_commonevent
none, use .type
SDL2 0學習筆記 事件處理
sdl通過sdl pollevent函式從事件佇列中取出最早發生的事件並填充sdl event結構。呼叫sdl pollevent後最早發生的事件從事件佇列中清除。sdl pollevent函式原型為 int sdl pollevent sdl event event 當事件佇列中有未處理的事件時s...
SDL學習筆記之二
sdl su ce image sdl loadbmp image.bmp 2.從乙個表面,進行塊複製到另乙個表面 sdl blitsu ce int sdl blitsu ce sdl su ce src,sdl rect sr,sdl su e dst,sdl rect dr 第二個引數指定要傳...
SDL學習筆記之二
sdl su ce image sdl loadbmp image.bmp 2.從乙個表面,進行塊複製到另乙個表面 sdl blitsu ce int sdl blitsu ce sdl su ce src,sdl rect sr,sdl su e dst,sdl rect dr 第二個引數指定要傳...