XNAでウィンドウサイズを確認する方法


10

XNAでウィンドウのサイズを確認する方法があるかどうか知りたいだけでした。特定のサイズに設定したくありません。現在どの次元が自動的に表示されるか知りたいのですが。この情報を見つける方法はありますか?

ゲームに取り組む前に、おそらくこの情報を見つけたはずです(または手動で設定したはずです)が、私は初心者であり、すでに投資した次元の中で仕事をしたいと思っています。ありがとう!

回答:


15

オプションは次のとおりです。

バックバッファーのサイズを取得するには、以下を使用します。

GraphicsDevice.PresentationParameters.Bounds(長方形の場合)またはBackBufferWidthおよびBackBufferHeight

ビューポートの設定、スクリーンショットの撮影などを行う場合は、バックバッファーサイズが必要です。

ビューポートを取得するには、以下を使用します。

GraphicsDevice.Viewport.Bounds(長方形の場合)またはWidthおよびHeight

ビューポートのサイズは、実際にレンダリングするときに使用したいサイズです。渡す座標SpriteBatchは、ビューポートの観点から、ピクセルで整列されたクライアント空間にあります。左上のピクセルの(0,0)から右下の(width-1、height-1)までです。3Dを行う場合、投影スペースは、ビューポートの左下の(-1、-1)から右上の(1,1)になります。

画面上のビューポートのサイズと位置を調整できます(分割画面などの効果を実行するため)。したがって、バックバッファーのサイズに初期化されますが、常に同じであるとは限りません。

インターフェイスレイアウトを行う場合、特にXbox 360で実行する場合は、に注意してくださいViewport.TitleSafeArea。これにより、境界線の一部が途切れる可能性がある画面に確実に表示される領域がわかります。

何らかの理由で実際にゲームウィンドウ自体を操作している場合は、を使用しますGame.GameWindow.ClientBounds


どうもありがとう!私はそれが2Dゲームであることを明記する必要がありましたが、それは両方の答えを与えることができてうれしかったです。今ビューポートで読んでいます。
Nick Van Hoogenstyn、2011

2

GraphicsDevice.Viewport.Bounds-これはRectangle2Dを返し、パラメーターWidthおよびHeightを持っています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.