ページ 11

[DXライブラリ]図形処理を使った暗闇演出

Posted: 2012年4月15日(日) 23:24
by wiruka
現在、市販されてるゲームでよくある(例えばアドバンスのポケモン)
見えるところがプレイヤーのまわりだけでほかが黒く塗りつぶされるという
画面演出を作ろうとしているのですが、
これを図形処理を使って何とか実装できないか思案中なのですか具体的にどうすればいいか思い浮かびません
(丸くくりぬかれた黒い画像を使っても考えましたが大きさが変わると見た目綺麗にならないときがあります)、
マスクの説明を見てもどうも図形に対応していなさそうです、
どなたかご教授お願いいたします。

Re: [DXライブラリ]図形処理を使った暗闇演出

Posted: 2012年4月15日(日) 23:45
by softya(ソフト屋)
どううまく行かないのかソースコードや画面画像は見せられませんか?
アルファチャンネル付きのマスク画像でクリヌケば、それらしく見えると思うのですが。

Re: [DXライブラリ]図形処理を使った暗闇演出

Posted: 2012年4月16日(月) 00:15
by wiruka
>softya(ソフト屋)さん
説明が不足しておりました、
マスクを使わないのは自分が今やりたいのは見えるところが可変できることが重要で、
DXライブラリのDXライブラリの関数リファレンスマニュアル&サンプルプログラム
のページを見る限りマスク画面ではマスクに描画可能なものは画像データのみで拡大縮小できないようで、
これではマスクを使った方法では見える範囲が大きくなったり小さくなったり作るのは出来ないと判断したからです。
マスク画面に図形描画関数が用意されていれば良かったのですが・・・

Re: [DXライブラリ]図形処理を使った暗闇演出

Posted: 2012年4月16日(月) 00:16
by Dixq (管理人)
それは乗算ブレンドをすると良いでしょう。
DXライブラリには、
・αブレンド
・加算ブレンド
・減算ブレンド
・乗算ブレンド
のブレンド方式があります。
減算ブレンドを利用しても表現できますが、減算ブレンドは計算効率が悪いので乗算ブレンドを使うとよいでしょう。

「光の掛け算って何?」と思う人が多かったので、以下のような説明資料を作ったことがあります。
参考程度にどうぞ

Re: [DXライブラリ]図形処理を使った暗闇演出

Posted: 2012年4月16日(月) 09:02
by softya(ソフト屋)
wiruka さんが書きました:>softya(ソフト屋)さん
説明が不足しておりました、
マスクを使わないのは自分が今やりたいのは見えるところが可変できることが重要で、
DXライブラリのDXライブラリの関数リファレンスマニュアル&サンプルプログラム
のページを見る限りマスク画面ではマスクに描画可能なものは画像データのみで拡大縮小できないようで、
これではマスクを使った方法では見える範囲が大きくなったり小さくなったり作るのは出来ないと判断したからです。
マスク画面に図形描画関数が用意されていれば良かったのですが・・・
マスクで図形描画する方法はありますよ。遅いですけどね。
「Win32API・Dxライブラリについて - Yahoo!知恵袋」
http://detail.chiebukuro.yahoo.co.jp/qa ... 1476121549

アルファチャンネル点きの画像を上に重ねるだけのほうが早いですし拡縮も自在ですが、それではダメなのでのか?
↓ これはちゃんとアルファチャンネルでありません。イメージ画像です。
マスク.png
マスク.png (6 KiB) 閲覧数: 3250 回

Re: [DXライブラリ]図形処理を使った暗闇演出

Posted: 2012年4月19日(木) 20:51
by wiruka
管理人様、softya様返信ありがとうございます。
教えていただいた方法をいろいろと試してみまして
しっくりくる方を採用したいと思います。
自分が画像を使う方法に積極的でないのは
ちなみに、円を縮小していって最終的に消えるような演出を作る場合
黒の塗り潰し部分が画面内で切れる事を嫌ったためです。
(その部分を黒で覆えばいいだけの話ではありますが)