0

いいタイトルではありませんが、SDL_Event とすべての SDL イベント (SDL_QuitEvent、SDL_ActiveEvent など) との関係は何ですか? 私は C# の SDL バインディングを使用していますが、それらを扱うときに型システムに使用する型がわかりません。それらはSDL_Eventのサブクラスではありません. を使用するobject必要がありますか、それとももっと良い方法がありますか?

4

1 に答える 1

1

古い質問ですが、ロングテール検索専用です:

anは、構造体 (など)SDL_Eventの単なる大きなコレクションです。SDL_QuitEventに応じて、SDL_Event::typeさまざまなサブ構造体とそのデータを設定または調べます。


SDL1.2 のSDL_events.hから:

typedef union SDL_Event {
    Uint8 type;
    SDL_ActiveEvent active;
    SDL_KeyboardEvent key;
    SDL_MouseMotionEvent motion;
    SDL_MouseButtonEvent button;
    .
    .
    .
    SDL_SysWMEvent syswm;
} SDL_Event;

SDL2 のSDL_events.hから:

typedef union SDL_Event
{
    Uint32 type;                    /**< Event type, shared with all events */
    SDL_CommonEvent common;         /**< Common event data */
    SDL_WindowEvent window;         /**< Window event data */
    SDL_KeyboardEvent key;          /**< Keyboard event data */
    .
    .
    .
} SDL_Event;
于 2013-10-16T17:19:42.867 に答える