「MonoGameで解像度を取得する」の版間の差分

imported>Administrator
編集の要約なし
 
(2人の利用者による、間の3版が非表示)
1行目: 1行目:
[[MonoGame]]では設定を「要望した解像度」と「実際の解像度」が異なり、環境に合わせて近似するベストな解像度が選ばれるようになっている。これはAndroid端末などでは液晶の解像度が事前に決まっており、こちらの要望は基本的に無視されるためである。
[[MonoGame]]の解像度設定は「要望した解像度」と「実際の解像度」が異なり、環境に合わせて近似するベストな解像度が選ばれるようになっている。これは[[Android]]端末などでは[[液晶]]の解像度が事前に決まっており、こちらの要望は基本的に無視されるためである。


たとえばGameクラス(MonoGameにおける[[エントリポイント]]に相当するクラス)で以下のように解像度の設定を行ったとする。
たとえばGameクラス(MonoGameにおける[[エントリポイント]]に相当するクラス)で以下のように解像度の設定を行ったとする。
<pre lang="csharp">
<syntaxhighlight lang="csharp">
GraphicsDeviceManager.IsFullScreen = false;
GraphicsDeviceManager.IsFullScreen = false;
GraphicsDeviceManager.PreferredBackBufferWidth  =  720 ;
GraphicsDeviceManager.PreferredBackBufferWidth  =  720 ;
GraphicsDeviceManager.PreferredBackBufferHeight = 1232 ;
GraphicsDeviceManager.PreferredBackBufferHeight = 1232 ;
GraphicsDeviceManager.ApplyChanges();
GraphicsDeviceManager.ApplyChanges();
</pre>
</syntaxhighlight >


これがWindowsやMacで実行した場合はよほどのことが無い限り要望した解像度になるだろう。しかし[[Android]]では[[カタログスペック]]の解像度ではなく、上部のステータスバーや下部のナビゲーションバーを除いた領域が実効解像度となるため、それらを考慮した「もっとも近似する解像度」が設定される(詳細は「[[MonoGameで解像度を設定する]]」を参照)。ホームボタンが物理ボタンの機種がほとんどなくなったので注意しよう。
これが[[Windows]]や[[Mac]]で実行した場合はよほどのことが無い限り要望した解像度になるだろう。しかし[[Android]]では[[カタログスペック]]の解像度ではなく、上部のステータスバーや下部のナビゲーションバーを除いた領域が実効解像度となるため、それらを考慮した「もっとも近似する解像度」が設定される(詳細は「[[MonoGameで解像度を設定する]]」を参照)。ホームボタンが物理ボタンの機種がほとんどなくなったので注意しよう。


実効解像度は以下のプロパティで取得できる。
実効解像度は以下のプロパティで取得できる。
<pre lang="csharp">
<syntaxhighlight lang="csharp">
GraphicsDevice.PresentationParameters.BackBufferWidth;
GraphicsDevice.PresentationParameters.BackBufferWidth;
GraphicsDevice.PresentationParameters.BackBufferHeight;
GraphicsDevice.PresentationParameters.BackBufferHeight;
</pre>ちなみにカタログスペックの解像度は以下のプロパティで取得できる。<syntaxhighlight>
</syntaxhighlight >
 
ちなみにカタログスペックの解像度は以下のプロパティで取得できる。
<syntaxhighlight>
//
//
GraphicsDevice.DisplayMode.Width;
GraphicsDevice.DisplayMode.Width;
32行目: 35行目:


== 関連項目 ==
== 関連項目 ==
* [[:category:MonoGame|MonoGameカテゴリ]]
* [[MonoGameで解像度を設定する]]
 
* [[MonoGame (Xamarin.Android)で初期解像度がおかしい機種の対策]]
== 参考文献 ==
{{reflist}}
 
{{stub}}


[[category: MonoGame]]
[[category: MonoGame]]