ご教授願います。最近Dxlibraryを使い始めました。
DXライブラリ サンプルプログラムを参考にSetDrawBright関数を使用してフェードイン、アウト処理はできましたが
複数画像を表示した状態で、その中の1枚をフェードイン、アウト処理する場合はどうすれば良いですか?
画像を複数枚表示してある状態でのフェード処理
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 画像を複数枚表示してある状態でのフェード処理
透過して背景に溶けこませるのではどうでしょうか?
「DXライブラリ置き場 リファレンスページ SetDrawBlendMode」
http://homepage2.nifty.com/natupaji/DxL ... html#R3N17
これで溶けこませる画像前に SetDrawBlendMode(DX_BLENDMODE_ALPHA,透明度);で透明モード設定、その後に溶けこませる画像を描画、その後戻します。SetDrawBlendMode(DX_BLENDMODE_NOBLEND,255);
「DXライブラリ置き場 リファレンスページ SetDrawBlendMode」
http://homepage2.nifty.com/natupaji/DxL ... html#R3N17
これで溶けこませる画像前に SetDrawBlendMode(DX_BLENDMODE_ALPHA,透明度);で透明モード設定、その後に溶けこませる画像を描画、その後戻します。SetDrawBlendMode(DX_BLENDMODE_NOBLEND,255);
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
ヘイポー
Re: 画像を複数枚表示してある状態でのフェード処理
返信遅くなりましたm(_ _)m
正しく書けてるか不安ですが一応フェードイン、アウト処理ができました。ありがとうございます!
正しく書けてるか不安ですが一応フェードイン、アウト処理ができました。ありがとうございます!
void blendFede(int imageHandle,int x,int y,bool transFlag=TRUE){
static int alphaNum=255;
static bool fadeFlug=true;
if (fadeFlug==true)(alphaNum<=0)?fadeFlug=false:alphaNum-=5;
if (fadeFlug==false)(alphaNum>=255)?fadeFlug=true:alphaNum+=5;
SetDrawBlendMode(DX_BLENDMODE_ALPHA,alphaNum);
DrawGraph(x,y,imageHandle,transFlag);
SetDrawBlendMode(DX_BLENDMODE_ALPHA,255);
}
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: 画像を複数枚表示してある状態でのフェード処理
最後は、SetDrawBlendMode(DX_BLENDMODE_NOBLEND,255);とすべきですね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。