hdn:sdl

[トップ][一覧][最近の更新]



リファレンスマニュアル

SDL本体

hsSDL

チュートリアルっぽいもの

HSDL

注意が必要な点

透過色を持つサーフィスのblit転送

すごいややっこしい。

追記すると、以下のような特徴がある。

前述の三通りの透過色の扱いは、転送元/転送先Surfaceの透過色設定の組み合わせによって、想定外な動作をするパターンがあるので、事前に、自分の望む動作をするのかどうかチェックする必要がある。

具体的には、以下の条件により、2*2*2*2=16通りのパターンが存在する。

以下のサイトの表で、組み合わせによってどのような動作をするのかをある程度確認できる。

もし、自分の望む動作をしない場合は、転送前に一時的に状態を変えたりしても良い(その場合は、転送後に設定を元に戻すのを忘れないようにする事)。

SDL_ttfで生成したサーフィスをblit転送する時の注意点は、下の方の「SDL_ttf」の項目を参照。

色を指定する方法について

SDLでは色を指定する方法が何通りかあり、しかも、関数によって、どの形式の色指定を受け付けるかがまちまち。どれかに統一しないと非常に困る。

  1. SDL_Color
    typedef struct{
      Uint8 r;
      Uint8 g;
      Uint8 b;
      Uint8 unused;
    } SDL_Color;
    
    「フォーマットに依存しない色表現」との事。
  2. SDL_MapRGB() / SDL_MapRGBA()の返り値(実体はUint32)
  3. r, g, b, aの個別指定

まとめると、以下のようになるっぽい。

- SDL_Color
(Color型)
SDL_MapRGB()の返り値
(Pixel型)
rgba個別指定(Uint8四つ)
(Word8型が四つ)
SDL_SetColorKey × ×
SDL_FillRect × ×
SDL_gfxの各関数 ×
SDL_ttfの各関数 × ×

しかし、Pixel型が一番プリミティブだと思われるので、とりあえず今のところはPixel型をメインに使っていく事にする。

SDL_ttf

SDL_mixer

SDL_gfx


最終更新 : 2008/01/31 23:24:05 JST