XNAでウィンドウのサイズを確認する方法があるかどうか知りたいだけでした。特定のサイズに設定したくありません。現在どの次元が自動的に表示されるか知りたいのですが。この情報を見つける方法はありますか?
ゲームに取り組む前に、おそらくこの情報を見つけたはずです(または手動で設定したはずです)が、私は初心者であり、すでに投資した次元の中で仕事をしたいと思っています。ありがとう!
XNAでウィンドウのサイズを確認する方法があるかどうか知りたいだけでした。特定のサイズに設定したくありません。現在どの次元が自動的に表示されるか知りたいのですが。この情報を見つける方法はありますか?
ゲームに取り組む前に、おそらくこの情報を見つけたはずです(または手動で設定したはずです)が、私は初心者であり、すでに投資した次元の中で仕事をしたいと思っています。ありがとう!
回答:
オプションは次のとおりです。
バックバッファーのサイズを取得するには、以下を使用します。
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
。