ページ 11

画像を半透明で表示、赤っぽく表示

Posted: 2011年10月07日(金) 19:08
by re2
こんにちは。すごく初歩的な質問かも知れないのですが、

私は2D型のアクションゲームを作っているのですが、
敵を攻撃した際、敵がダメージを食らったように見せる為に
敵の画像を赤っぽく(真っ赤ではなく、赤の半透明?のような感じです)表示させたい、
さらに敵を倒した時に、画像の透明度を上げてフェードアウトするようにしたいのですが、
何かそのような関数はありますでしょうか。

『敵の画像』とは別に、『赤い敵の画像』を用意する以外の方法でお願いします…
また、画像の透明度も変更する関数もあれば教えて頂ければ嬉しいです。

Re: 画像を半透明で表示、赤っぽく表示

Posted: 2011年10月07日(金) 19:15
by re2
申し訳ありません。環境はDXライブラリです。

Re: 画像を半透明で表示、赤っぽく表示

Posted: 2011年10月07日(金) 20:54
by MoNoQLoREATOR
~赤っぽくする方法~
SetDrawBright()
という関数があります。
描画の際の赤・緑・青それぞれの描画高度を指定することができます。
つまり、
SetDrawBright(255,0,0);
とすれば赤っぽく表示させることができます。
ちょっと赤すぎるなと思ったら
SetDrawBright(255,100,100);
とするなど、いろいろためしてみてください。
元に戻したい場合は
SetDrawBright(255,255,255);
としてください。

~半透明にする方法~
SetDrawBlendMode()
という関数があります。
半透明にしたい場合は
SetDrawBlendMode(DX_BLENDMODE_ALPHA, 100);
などとしてください。
2番目の引数は不透明度で、0~255の範囲で指定します。
値を小さくするほど透明になり、0にすると完全に透明になります。
元に戻したい場合は
SeDrawBlendMode(DX_BLENDMODE_NOBLEND,0);
とします。


その他詳しいことはDXライブラリのリファレンスページに載っています。
http://homepage2.nifty.com/natupaji/DxL ... html#R3N18
http://homepage2.nifty.com/natupaji/DxL ... html#R3N17

Re: 画像を半透明で表示、赤っぽく表示

Posted: 2011年10月07日(金) 21:31
by bitter_fox
MoNoQLoREATORさんが紹介した関数を使ってください。

解説として合わせてこちらもどうぞ
http://dixq.net/g/
http://dixq.net/g/09.html - 9. 輝度をセットする。
http://dixq.net/g/39.html - 38. αブレンド(その1)
http://dixq.net/g/40.html - 39. αブレンド(その2)
http://dixq.net/g/02_03.html - 2.3章 アルファブレンドして表示する(透ける表現)(新館)