トップページ > 記事閲覧
ゲーム画面の四隅を透明にしたい
名前:たろう 日時: 2018/12/28 01:10

たびたびすみません、たろうです DX_SCREEN_BACKに直接描画せず、すべての画像を SetUsePremulAlphaConvertLoad( TRUE ) ;をした上での MakeScreen()で、画面サイズ一杯の広さで作った透明の「幕1」に描画して、 最後にそれをDX_SCREEN_BACKに、四隅をぼかして(半透明にして) 描画してあとScreenFlip();というようにして ゲーム画面をつねに四隅がぼやけた感じにしたいと思っているのですが、 予め用意した四隅が透明な画像を「幕1」に DX_GRAPH_BLEND_PMA_MULTIPLE_A_ONLY でGraphBlendしたあとDrawGraphでDX_SCREEN_BACKに描画する という手順でやろうとおもっています。 他にも色々方法はありそうなのですが、 速度面からみておすすめの方法など他にありますでしょうか? ※もしあればで結構です、関数名などお知らせいただければと思います お忙しいところすみませんm(_ _)m よろしくお願いいたします。
メンテ

Page: 1 |

Re: ゲーム画面の四隅を透明にしたい ( No.1 )
名前:管理人 日時:2018/12/29 06:31

> 他にも色々方法はありそうなのですが、 > 速度面からみておすすめの方法など他にありますでしょうか? アルファ値を合成して裏画面に描画するのでしたら、SetBlendGraphParam を使用する方がより高速です // 描画する画像とブレンドする画像のブレンド設定を行う // BlendGraph を -1 にすれば設定を解除、その場合 BlendType とその後ろのパラメータは無視される int SetBlendGraphParam( int BlendGraph, int BlendType, ... ) ; 使用例: // 描画対象を裏画面に設定 SetDrawScreen( DX_SCREEN_BACK ) ; // 裏画面をクリア ClearDrawScreen() ; // 描画時の GrHandle とアルファ値のみ合成するグラフィックハンドルを設定 SetBlendGraphParam( 四隅が透明な画像, DX_BLENDGRAPHTYPE_ALPHA ) ; // 画面に幕1を描画( 『四隅が透明な画像』とアルファ値のみ合成される ) DrawGraph( 0, 0, 幕1, TRUE ) ; // 設定を無効化 SetBlendGraphParam( -1, 0 ) ; よろしければお試しください m(_ _)m
メンテ
Re: ゲーム画面の四隅を透明にしたい ( No.2 )
名前:たろう(解決) 日時:2018/12/29 16:38

いつもすみません、たろうです。 SetBlendGraphParamの情報をありがとうございます 私の使用目的とピッタリで、 思い通りの見た目に加工できました。 今後も使わせていただきます お忙しいところお手数をおかけ致しました。 ありがとうございましたm(_ _)m
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存