1

I am going to play around with making an XNA game.

The windows store has two base resolutions it reccommends you support: 1024x768 and 1366x768

But after that there are no restrictions.

The common advice is to use a ViewBox that will scale your content for you.

But an XNA game does not have a viewbox. It has a draw method where you render your content.

What is the common way for Games (XNA or DirectX) to adapt to different resolutions?

I would rather not have to make images for each and evey resolution out there. It would be a lot of work and I am bound to miss some.

Is there a better way?

4

2 に答える 2

6

GraphicsAdapter.DefaultAdapter.CurrentDisplayMode.Width現在のデスクトップ解像度が表示され.Heightます。

Game.GraphicsDevice.Viewportその後、これらの設定を使用するように変数を更新できます。

上記のコードは、通常、Game1.cs コンストラクターで実行されます。

提供されたリンクは、スプライト、背景などを解像度に関係なく正しく見せる1つの手法を文書化しています(コードが100%最新でない場合、理論は正しいはずです)

http://msdn.microsoft.com/en-us/library/bb447674%28v=xnagamestudio.10%29.aspx

于 2012-12-03T16:19:50.433 に答える
1

チュートリアルで読んだ 2 つの異なるアプローチがあります。

  • すべてを新しいビューポートに合わせてサイズ変更します (アスペクト比を変更しても)
  • もっと周囲を描くだけ

もちろん、両方を混在させることもできます: 同じ縦横比 (4:3 または 16:9 など) である限り、すべてのサイズを変更してから、背景/周囲を多かれ少なかれ表示します。

全員がまったく同じ視界を持つことが重要な場合 (公平性などの理由で) は、より多くの周囲の代わりに黒いコンテンツを表示することもできますが、そのような場合は、fog of war を使用して視力を低下させます。

于 2012-12-03T19:50:06.193 に答える