トップページ > 記事閲覧
表画面の取得
名前:菊岡万次郎 日時: 2013/06/25 20:43

こんにちは。 DXライウラリで表画面の取得ってできませんか? 普段はScreenFlipで描画してます。ウィンドウはsetuserwindowで設定してる自作です。 SetWindowSubclassでサブクラス化してて、 WM_SIZEのときにウィンドウにあわせてゲーム画面を拡大したりしたいです。 お願いします。
メンテ

Page: 1 |

Re: 表画面の取得 ( No.1 )
名前:管理人 日時:2013/06/30 18:55

表画面の取得はできません ゲーム画面をウインドウのサイズに合わせて拡大するのが目的でしたら SetWindowSizeChangeEnableFlag( TRUE ) ; を実行することでウインドウのサイズを変更できるようになりますが、 それでは駄目でしょうか?
メンテ
表画面の取得 ( No.2 )
名前:菊岡万次郎 日時:2013/06/30 22:10

回答ありがとうございます。 しかし、SetUserWindowで設定したウィンドウにはSetWindowSizeChangeEnableFlagは適用されない気がします・・・ 試してみても、変化ありませんでした。 私の希望としてはSetUserWindowで設定したウィンドウが 大きさが変更されたとき、大きさに合わせてゲーム画面を拡大したり、アスペクト比を維持しつつ拡大、などをしたいです。 例としては、18禁ゲームで申し訳ないのですが、 URL tanuki-soft.jp/products/bisyoujyo/index.php こちらのゲームの体験版のように、拡大してるときにアスペクト比を維持したり、またフルスクリーン時にアスペクト比を維持して黒塗りにしたいです。 そのため、最後に描画した画面がほしいのです。 お力添えよろしくお願いします。
メンテ
Re: 表画面の取得 ( No.3 )
名前:管理人 日時:2013/07/08 09:25

表画面に表示した内容を直接取得する手段はありませんが裏画面の代わりに関数 MakeScreen で 作成できる「SetDrawScreen の引数として使用できるグラフィックハンドル」に対して描画を行い、 裏画面へはそのグラフィックハンドルを使用して描画するというようにすることで、 最後に描画した画面の状態は常に MakeScreen で作成したグラフィックハンドルに残る状態になります <MakeScreen の解説> http://homepage2.nifty.com/natupaji/DxLib/function/dxfunc_graph1.html#R3N25 <イメージ> int Screen ; // メインループに入る前にSetDrawScreen の引数として使用できるグラフィックハンドル」を作成しておく Screen = MakeScreen( 640, 480, FALSE ) ; while( ProcessMessage() == 0 ) { // 裏画面を描画対象にする代わりにグラフィックハンドルを描画対象にする SetDrawScreen( Screen ) ; // 裏画面に対して行うように描画処理を行う 〜〜〜〜 // 裏画面を描画対象にする SetDrawScreen( DX_SCREEN_BACK ) ; // 裏画面代わりに描画対象にしていたグラフィックハンドルを状況に応じて変形させて描画 DrawExtendGraph( 0, 0, 320, 240, Screen, FALSE ) ; // 裏画面の内容を表画面に反映 ScreenFlip() ; } よろしければお試しください
メンテ
表画面の取得 ( No.4 )
名前:菊岡万次郎(解決) 日時:2013/07/08 23:16

教えていただいた内容でパフォーマンスが出ました! ありがとうございます!
メンテ

Page: 1 |

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

   クッキー保存