「MonoGameで解像度を取得する」の版間の差分
ナビゲーションに移動
検索に移動
(ページの作成:「MonoGameでは設定を要望した解像度と実際の解像度が異なり、環境に合わせて近似するベストな解像度が選ばれるようになっ...」) |
|||
1行目: | 1行目: | ||
− | [[MonoGame]] | + | [[MonoGame]]では設定を「要望した解像度」と「実際の解像度」が異なり、環境に合わせて近似するベストな解像度が選ばれるようになっている。 |
たとえばGameクラス(MonoGameにおける[[エントリポイント]]に相当するクラス)で以下のように解像度の設定を行ったとする。 | たとえばGameクラス(MonoGameにおける[[エントリポイント]]に相当するクラス)で以下のように解像度の設定を行ったとする。 | ||
20行目: | 20行目: | ||
* 明示的に呼び出す場合はGameクラスのInitializeメソッドが呼ばれたタイミングで利用可能となる | * 明示的に呼び出す場合はGameクラスのInitializeメソッドが呼ばれたタイミングで利用可能となる | ||
* 暗黙的にGameクラスのbase.Initialize()の中でも実行されている模様 | * 暗黙的にGameクラスのbase.Initialize()の中でも実行されている模様 | ||
− | *: base. | + | *: base.Initializeメソッドを呼び出した時点で[[ゲームループ]]が走り出すので注意。 |
==関連項目== | ==関連項目== |
2015年12月31日 (木) 04:38時点における版
MonoGameでは設定を「要望した解像度」と「実際の解像度」が異なり、環境に合わせて近似するベストな解像度が選ばれるようになっている。
たとえばGameクラス(MonoGameにおけるエントリポイントに相当するクラス)で以下のように解像度の設定を行ったとする。
this.GraphicsDeviceManager.IsFullScreen = false;
this.GraphicsDeviceManager.PreferredBackBufferWidth = 720 ;
this.GraphicsDeviceManager.PreferredBackBufferHeight = 1232 ;
this.GraphicsDeviceManager.ApplyChanges();
しかし実際には異なる解像度が設定されることになる。 実際の解像度は以下のプロパティで取得できる。
this.GraphicsDevice.PresentationParameters.BackBufferWidth;
this.GraphicsDevice.PresentationParameters.BackBufferHeight;
なお、解像度を要望する(反映させる)GraphicsDeviceManager.ApplyChangesメソッドは以下の点に注意すること。
- Gameクラスのコンストラクタ内で呼び出しても無反応
- 明示的に呼び出す場合はGameクラスのInitializeメソッドが呼ばれたタイミングで利用可能となる
- 暗黙的にGameクラスのbase.Initialize()の中でも実行されている模様
- base.Initializeメソッドを呼び出した時点でゲームループが走り出すので注意。