キャラクターの背景が白のままだったので透明化してみます。
まず画像中の特定の色の部分を透明にする方法。
SDL_SetColorKeyで透明色を指定。
画像形式によっては、SDL_SetAlpha(s,0,0)でアルファを無効にしておく必要があるようです。
もうひとつはそもそも画像に透明情報を持たせる方法。
PNG形式などであればファイル自体に透明情報を持たせることができるので、何も気にせず画像を読み込むだけです。
次は半透明について
前回文字列を表示しましたが、今回はその文字列表示部分を半透明化。
文字列表示用のSurfaceを作成し、文字列はスクリーンSurfaceではなくこのSurfaceに描画。そして文字列表示用Surfaceに対してSDL_SetAlpha(s,SDL_SRCALPHA,alpha)を呼び出し、SDL_BlitSurface。
SDL_SetAlphaで半透明化を行うにはSDL_CreateRGBSurfaceの時に、引数Amaskを0にしておく必要があります。