[過去ログ] SDLスレ (987レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
285(2): 名前は開発中のものです。 [sage] 03/08/06 09:51 ID:aF4kdC5r(1) AAS
フェードに使いたいと思うのですが、
>>283283(2): 名前は開発中のものです。 [sage] 03/08/05 15:08 ID:zbiAQW5j(1) AAS
>>282
# 速度的な問題はおいておくとして
仮にその方法でやるにしてもpng画像はつくらずに,
* SDL_CreateRGBSurface() で Surface つくって
* SDL_FillRect() で赤く塗って
* SDL_SetAlpha() で半透明にして
半透明の赤画像作るんじゃない?
(これならSDL_Imageもいらないし…)
さんみたいな方法で半透明のグラデーション(?)って、
どうやって作るんでしょうか
SDL_MapRGBAでピクセル単位で設定していくのかな
プログラムの流れが掴めないんです...
286(1): 名前は開発中のものです。 [sage] 03/08/06 16:38 ID:qsYmH3Qw(1) AAS
>>285
すごく冗長に書くけど下のような処理でいいの?
screen = SDL_SetVideoMode(640, 480, 32, SDL_SWSURFACE);
tmp = SDL_LoadBMP("back.bmp");
back = SDL_DisplayFormat(tmp);
tmp = SDL_CreateRGBSurface(SDL_SWSURFACE, 640, 480, 32, 0xff000000, 0xff0000, 0xff00, 0xff);
for (i = 0;i < tmp->h;i++){
SDL_Rect dstRect = {0, i, tmp->w, 1};
SDL_FillRect(tmp, &dstRect, SDL_MapRGBA(tmp->format, 0xff, 0, 0, i * 0xff / tmp->h ));
}
redGradation = tmp;
SDL_BlitSurface(back, NULL, screen, NULL);
SDL_BlitSurface(redGradation, NULL, screen, NULL);
# 実際やるなら pixels を直接書き変えるかもだけど…
287: 285 [sage] 03/08/07 01:12 ID:ecuGQ5wX(1) AAS
>>286
ははぁそんな風に使うのですか
># 実際やるなら pixels を直接書き変えるかもだけど…
処理の速度もスマートもこっちの方が良さそうですね...
ともあれ、ありがとうございました!
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.036s