2012-01-21 17 views
16

現在のデスクトップ画面解像度を取得することは可能ですか?XNA - 現在の画面解像度を取得

私のXNAゲームにはいくつかの小さな設定があり、その1つは画面解像度です。私がしたいのは、現在のデスクトップ解像度がサポートしているサイズよりも大きい場合は、画面解像度オプションを空白にします。

+4

[XNA:画面の幅と高さを取得する]の複製可能性(http://stackoverflow.com/questions/1377524/xna-get-screens-width-and-height) –

答えて

33

GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Widthおよび.Heightは、デバイスの現在の解像度を示します。

Game.GraphicsDevice.Viewportには、照会できる高さと幅の変数があり、ビューポートの解像度が得られます。ビューポートは通常、ウィンドウのサイズですが、それは保証されません。

Window.ClientBounds.Widthおよび.Heightはゲームウィンドウの解像度を提供します。

+1

返信いただきありがとうございます。答えは次のとおりです。 GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Height – Jpin

+1

ああ、そうです。 Viewportはあなたのゲームウィンドウの解像度を提供します。これは、PC上でウィンドウモードになっている場合はデスクトップ全体より小さくなりますが、CurrentDisplayModeではデスクトップ解像度が得られます。私は将来の読書のためにそれらの詳細を含めるために私の答えを編集します。 –

+2

ビューポートのサイズをウィンドウ(例:分割画面)よりも小さくすることができます。私はWindow.ClientBounds.Width/Heightに固執します。 – YellPika

6

GraphicsAdapter.SupportedDisplayModesは、サポートされているすべてのアスペクト比のコレクションを返します。このコレクションにあるすべての比率を表示することができます。

+1

問題がないと思われます。私はそれを必要とするかもしれない誰かのためにここに残します。 –

+1

これは私の次のGoogleクエリでした。ありがとう! :) – keyle