画像を複数枚表示してある状態でのフェード処理

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ヘイポー

画像を複数枚表示してある状態でのフェード処理

#1

投稿記事 by ヘイポー » 13年前

ご教授願います。最近Dxlibraryを使い始めました。
DXライブラリ サンプルプログラムを参考にSetDrawBright関数を使用してフェードイン、アウト処理はできましたが
複数画像を表示した状態で、その中の1枚をフェードイン、アウト処理する場合はどうすれば良いですか?

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 15年前
住所: 東海地方
連絡を取る:

Re: 画像を複数枚表示してある状態でのフェード処理

#2

投稿記事 by softya(ソフト屋) » 13年前

透過して背景に溶けこませるのではどうでしょうか?

「DXライブラリ置き場 リファレンスページ SetDrawBlendMode」
http://homepage2.nifty.com/natupaji/DxL ... html#R3N17

これで溶けこませる画像前に SetDrawBlendMode(DX_BLENDMODE_ALPHA,透明度);で透明モード設定、その後に溶けこませる画像を描画、その後戻します。SetDrawBlendMode(DX_BLENDMODE_NOBLEND,255);
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

ヘイポー

Re: 画像を複数枚表示してある状態でのフェード処理

#3

投稿記事 by ヘイポー » 13年前

返信遅くなりました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: 画像を複数枚表示してある状態でのフェード処理

#4

投稿記事 by softya(ソフト屋) » 13年前

最後は、SetDrawBlendMode(DX_BLENDMODE_NOBLEND,255);とすべきですね。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

閉鎖

“C言語何でも質問掲示板” へ戻る