VariantCat Blog

ゲーム関連、ソフト開発関連の記事を書いていこうかなと思ったり思わなかったり

デスクトップ解像度が1920x1080で、ゲームを低解像度(1280x720など)でプレイすると
下の画像のように上下に黒枠が入り、画面が横長になってしまうことがありました。
(GPUはNVIDIAのGeForce GTX750Tiを使っています)
1


【対処法その1】
 Nvidiaコントロールパネルの「スケーリングを実行するデバイス」で「GPU」を選択する。
 この設定にするとゲーム画面をモニタ解像度まで引き伸ばされ、正常に表示されます。
 スケーリングモードは「縦横比」か「全画面表示」にします。
2


【対処法その2】
 デスクトップ解像度を低解像度(ゲームと同じ解像度)にしてからゲームをプレイする。
 何が違うのかわかりませんが、正常に表示されました。
 でも、デスクトップ解像度を変更するとアイコンの位置が崩れるのでおすすめはできません・・・。

VisualStudio2015のフォームデザイナでコントロール同士をくっつけようとすると、
自動調整で隙間が空いてしまって困っていたのですが、解決したので書きました。
1


プロパティのMarginで周囲の隙間を調整でき、「0,0,0,0」にすると隙間が無くなります。
数値の順番は「左,上,右,下」の順です。
2

2

若干隙間が空いてしまっているのはButtonのデザインなので調整できないみたいです。
Labelならぴったりくっつきました。
4



また、ALTキーを押しながらコントロールをドラッグすることで自動調整を無効化することもできます。
でも細かい微調整は難しいです。

Locationに直接数値を入れて調整することもできますが、
1個ずつ設定するのはかなり面倒なのでオススメできません。

VisualStudioのWindowsフォームアプリの開発で失敗したと思ったことを書いてみました。

【開発前の考え】
 ・フォームの数は少ない方がいい
 ・ユーザーの目が移動する範囲は狭い方がいい
 ・複数のフォームを同時に出すのはあまり好きじゃない

  そしてTabContorolを使って、1つの画面に多くのコントロールを配置しつつ
  実際に表示されるコントロールはなるべく少なくする。
  という構造にしました。

  1

  TabContorolはタブを切り替えて別の項目を出せます。
  省スペースで色々詰め込むことができて便利です。

【現状】
 ・フォーム1つに対してソースコードが大量になってしまった
  一応、別モジュールに分けていますがコントロールのイベントハンドラが多くて、
  コードを探すのが徐々に大変になっていきました。
  仕方ない気もするけど画面を小分けにした方がよかったのかも…?

 ・開発時にVisualStudio上でフォームが表示されるのに時間がかかる
  時間がかかると言っても数秒ですが、操作中にちょくちょく待たされます。
  ダブルクリックでイベントハンドラを生成する機能も出てくるまで時間がかかったり。
  こうなるとは思っていなかったのでけっこうヘコみました。
  このまま同じ画面にタブを追加し続けるか、いっそ作り直すか悩みます。



入力パラメータの部分だけ別の画面にして、
ボタンを押したら入力画面をップアップ。
という感じにすれば良かったかもしれないです。
2

でも、画面が増えたら増えたで管理は大変になるので一長一短ですね。


設計が甘かったと思いますが、実際に作ってみなければ分からないことが多いので
とりあえず作ってみて良い部分と悪い部分を知るのがいいかなと思います。
個人開発なら失敗しても怒られることもないですし。

↑このページのトップヘ