暗い場所の演出

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

暗い場所の演出

#1

投稿記事 by テックウォ » 17年前

はじめまして
DXライブラリを使用してゲームを作っているのですが、
洞窟や、夜の館に入ると元のグラフィックだと色が鮮やか(?)すぎるので、
ちょっと暗くしようと思ったのですが、
それだけだと直接グラフィックを編集すればいいのですが
ろうそくのようなものが置いてある近くだけは明るく(元の色)にしたいのです

暗くするだけならSetDrawBrightを使えばいいとわかったのですが、
あるものの周りだけ明るくするにはどのようにすればいいのでしょうか?

管理人

Re:暗い場所の演出

#2

投稿記事 by 管理人 » 17年前

今家がネットつながらなくて、携帯でしかうてないからサンプル作れないんですが‥。
手元にグラデーションとかが表現できる画像編集ソフトありますか?
中央が黒で、周りが白い円形グラデーション画像作って下さい。
後、減算ブレンドってわかりますか?
白い画像は減算するととても暗くなり、黒い画像は少し暗くなります。
だからこのグラデーションで表現可能です。キャラを中心に減算ブレンドし、それ以外の真っ暗な場所はブレンドしないよう、グラフィック領域から除外しましょう。
意味がわからなければネット喫茶とか行ってコード書いて来ますよ。

管理人

Re:暗い場所の演出

#3

投稿記事 by 管理人 » 17年前

ネット喫茶に行っても、プログラムがかけないので大学まで来て見ました。
ただ大学からはファイルがアップロード出来ないんですよね・・。
ちょっとサンプル作ってみますので少々お待ち下さい。

管理人

Re:暗い場所の演出

#4

投稿記事 by 管理人 » 17年前

まず、画像。

管理人

Re:暗い場所の演出

#5

投稿記事 by 管理人 » 17年前

移動してて遅くなりました。

こんな感じでしょうかね?
サーバーにデータあげられないのでサンプル上げられないですが、こんな感じでよければ、上の画像を減算ブレンドすれば出来ますよ。

SetDrawBlendMode( DX_BLENDMODE_SUB , 255 ) ;

を書いてから描画したものは、すでに描画されているものから、描画した明るさ分だけ引き算して描画されます。
減算し終わったら

SetDrawBlendMode( DX_BLENDMODE_NOBLEND , 0 ) ;

でブレンドモードを終了して下さい。

テックウォ

Re:暗い場所の演出

#6

投稿記事 by テックウォ » 17年前

レスありがとうございます
上のサンプルを使ってやってみようと思います
本当にありがとうございました

tk-xleader

Re:暗い場所の演出

#7

投稿記事 by tk-xleader » 17年前

滅茶苦茶つまらないですが、同じことを乗算ブレンドでもできます。白黒を反転した状態ならば、管理人さんの結果と同じ状態になります。
うーん、ブレンド機能恐るべし。

parapara

Re:暗い場所の演出

#8

投稿記事 by parapara » 17年前

管理人さんが言ってる事は多分、1ピクセルごとにRGBそれぞれに、ビット演算子(&)を描ける事を意味しています。

parapara

Re:暗い場所の演出

#9

投稿記事 by parapara » 17年前

↑は管理人様じゃなくて、tkさんが言ってるほうでした。
管理人さんが言ってる方は逆の事(NOを全体につけて)。

閉鎖

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