ディスプレイ解像度を変更


ごろぉ:こんにちは。ごろぉです
はずな:どもども。こんにちはー 比芦 美沙(ひろ はずな)でーす
 
ごろぉ:さぁて、このコーナーも3回目になりました
はずな:…あれ? 前、独自画像やって、2回目じゃないの?
ごろぉ:ふむ。2回目はちゃんとあるぞ。ただ…調整中だから公開はまた後日だ
はずな:
ごろぉ:そういう顔するなよ。俺が何か間違えてるみたいじゃないか
はずな:先送りにするなら、それを3回目にすればいいじゃない
ごろぉ:まぁそうなんだがな…もう今回3回目にしちゃったし。
ごろぉ:過ぎたことは仕方ない。さくさく進もう
はずな:…まぁいいか。深く考えても無駄なだけだし
ごろぉ:お。分かって貰えてうれしいぞ
はずな:慣れたから。
 
ごろぉ:さてと。んで、今回はディスプレイの解像度をやるが…
はずな、解像度って知ってるか?
はずな:え? うーんと…
画面の細かさのコトだよね
ごろぉ:まぁそんな感じでいいかな。 俺も良くは知らんしな。
ようは画面の大きさだな。
はずな:で、それがゲームとどんな関係があるの?
ごろぉ:ああ。Windowsのゲームには、『フルスクリーンモード』を備えているものが多い。
『フルスクリーンモード』というのは、パソコンの画面全体を使ってゲーム画面を表示することだ
はずな:うん。分かる分かる
ごろぉ:それの多くは、画面の解像度を変更、ゲーム画面の大きさと同じにして実現しているんだ。
はずな:へぇー…
ごろぉ:だから、フルスクリーンを実装するのに画面の解像度変更は避けて通れないんだ。
はずな:なるほどぉ
ごろぉ:解像度変更にはDirectXを使うとかいくつか方法があるが…今回はWindowsAPIの"ChangeDisplaySettings"を使用してみる
はずな:ん?なにそれ
ごろぉ:APIの細かな説明は省くぞ。"ChangeDisplaySettings"APIは、そのまんま『ディスプレイの設定を変更する』ものだ。
はずな:へぇ〜
ごろぉ:んで、この関数を使用する前に"EnumDisplaySettings"(ディスプレイの設定を列挙する)APIが必要になる。
"EnumDisplaySettings"で変更できる解像度を取得して"ChangeDisplaySettings"で実際に変更する流れだ。
はずな:よく分かんないけど、その2つの関数を使えばフルスクリーンモードになるのね?
ごろぉ:そ。…まぁ実際フルスクリーンモードにするにはゲーム画面のタイトルバーとかメニュー消したり、最前面に表示したりと諸々の処理が必要になるがな。
 
ごろぉ:さて。今回は解像度を簡単に扱えるように、クラスを用意してみた。
はずな:クラス?
ごろぉ:ああ。何て説明しようか…まぁ一つのオブジェクトだよ。
はずな:オブジェクト?
ごろぉ:……今度細かく説明してやるから。今は納得しておけ。
はずな:はーい
 
ごろぉ:さてと。では実際に使ってみようか
はずな:うん
ごろぉ:サンプルのクラスは2種類、VB用とVC++用に作ってみた。
はずな:あれ?ごろぉ、VCなんてできるの?
ごろぉ:まぁ、何とか…つか、俺だって成長くらいするさ
(ダウンロード)解像度変更クラス VB6.0用 VC++6.0用
ごろぉ:使い方は次のページにするか
クラスの使い方 VB6.0 VC++6.0

戻る
メインページ倉庫サンプル置き場