「MonoGameで解像度を取得する」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
1行目: | 1行目: | ||
− | [[MonoGame]] | + | [[MonoGame]]では設定を「要望した解像度」と「実際の解像度」が異なり、環境に合わせて近似するベストな解像度が選ばれるようになっている。これはAndroid端末などでは液晶の解像度が事前に決まっており、こちらの要望は基本的に無視されるためである。 |
たとえばGameクラス(MonoGameにおける[[エントリポイント]]に相当するクラス)で以下のように解像度の設定を行ったとする。 | たとえばGameクラス(MonoGameにおける[[エントリポイント]]に相当するクラス)で以下のように解像度の設定を行ったとする。 | ||
− | < | + | <pre 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> |
− | + | これがWindowsやMacで実行した場合はよほどのことが無い限り要望した解像度になるだろう。しかし[[Android]]では[[カタログスペック]]の解像度ではなく、上部のステータスバーや下部のナビゲーションバーを除いた領域が実効解像度となるため、それらを考慮した「もっとも近似する解像度」が設定される(詳細は「[[MonoGameで解像度を設定する]]」を参照)。ホームボタンが物理ボタンの機種がほとんどなくなったので注意しよう。 | |
実効解像度は以下のプロパティで取得できる。 | 実効解像度は以下のプロパティで取得できる。 | ||
− | < | + | <pre lang="csharp"> |
GraphicsDevice.PresentationParameters.BackBufferWidth; | GraphicsDevice.PresentationParameters.BackBufferWidth; | ||
GraphicsDevice.PresentationParameters.BackBufferHeight; | GraphicsDevice.PresentationParameters.BackBufferHeight; | ||
− | </ | + | </pre>ちなみにカタログスペックの解像度は以下のプロパティで取得できる。<syntaxhighlight> |
− | |||
− | ちなみにカタログスペックの解像度は以下のプロパティで取得できる。 | ||
− | <syntaxhighlight> | ||
// | // | ||
GraphicsDevice.DisplayMode.Width; | GraphicsDevice.DisplayMode.Width; | ||
35行目: | 32行目: | ||
== 関連項目 == | == 関連項目 == | ||
− | * [[ | + | * [[:category:MonoGame|MonoGameカテゴリ]] |
− | + | ||
+ | == 参考文献 == | ||
+ | {{reflist}} | ||
+ | |||
+ | {{stub}} | ||
[[category: MonoGame]] | [[category: MonoGame]] |