SDL本体
hsSDL
チュートリアルっぽいもの
HSDL
すごいややっこしい。
追記すると、以下のような特徴がある。
前述の三通りの透過色の扱いは、転送元/転送先Surfaceの透過色設定の組み合わせによって、想定外な動作をするパターンがあるので、事前に、自分の望む動作をするのかどうかチェックする必要がある。
具体的には、以下の条件により、2*2*2*2=16通りのパターンが存在する。
以下のサイトの表で、組み合わせによってどのような動作をするのかをある程度確認できる。
もし、自分の望む動作をしない場合は、転送前に一時的に状態を変えたりしても良い(その場合は、転送後に設定を元に戻すのを忘れないようにする事)。
SDL_ttfで生成したサーフィスをblit転送する時の注意点は、下の方の「SDL_ttf」の項目を参照。
SDLでは色を指定する方法が何通りかあり、しかも、関数によって、どの形式の色指定を受け付けるかがまちまち。どれかに統一しないと非常に困る。
typedef struct{ Uint8 r; Uint8 g; Uint8 b; Uint8 unused; } SDL_Color;「フォーマットに依存しない色表現」との事。
まとめると、以下のようになるっぽい。
- | SDL_Color (Color型) | SDL_MapRGB()の返り値 (Pixel型) | rgba個別指定(Uint8四つ) (Word8型が四つ) |
SDL_SetColorKey | × | ○ | × |
SDL_FillRect | × | ○ | × |
SDL_gfxの各関数 | × | ○ | ○ |
SDL_ttfの各関数 | ○ | × | × |
しかし、Pixel型が一番プリミティブだと思われるので、とりあえず今のところはPixel型をメインに使っていく事にする。