4

必ずしもフルスクリーンで実行する必要はなく、画面の一部に 2D/3D グラフィックスを表示する必要があるだけのゲームを作成しようとしている場合、どのような方法が最適ですか?

クイックワイヤーフレーム

具体的な質問は次のとおりです。

  • レンダリングされた領域はどのコンポーネントを使用しますか?
  • レンダリング領域に利用できるゲーム ライブラリはありますか?
  • ここで使用するマイクロソフトによると、最も「純粋な」または「標準的な」スタックは何ですか?
4

2 に答える 2

1

Omega-VisualStudio2010と2012はどちらもWPFアプリです。WinRTはタブレット/モバイル用です。WPFは確かに時代遅れではありません。

もし私があなたなら、canvasが強制する方法ですべてをレンダリングしないのであれば、中央のアイテムをFrameという名前のUI要素にする方がよいでしょう。これは、WPFのすべてのUI関連コンテンツの基本要素です。

このようにして、ImageSourceTypeまたはCanvasがゲームの特定の機能により適していると判断したかどうかに関係なく、フレーム内のすべての可能なタイプのコントロールを活用できます。

于 2012-10-04T18:49:53.900 に答える
0

グラフィックスの描画方法に応じて、以下を使用できます (ただし、これらに限定されるものではありません)。

  • キャンバス - 動きの遅いゲームに最適です。このようにして、さまざまな WPF レイアウト ルーチンの利点を得ることができ、XAML/ベクターでもシーン内のオブジェクトを定義できます。
  • WPF は 3D グラフィックス (バックエンドで Direct3D を使用) をサポートしているため、おそらく正射影行列を設定し、それを Direct3D コンテキストのように (WPF API を使用して) 扱うことができます。これが D3D と比較してどれほど遅いかを知るには十分な経験がありませんが、確かに簡単です (たとえば、XAML アーキテクチャからのサポートのような組み込みの「シーン グラフ」)。
  • Direct3D を使いこなしたい場合は、SlimDX を使用できます。SlimDX には、私が過去に使用した WPF shimと、別のサードパーティ コントロールがあります。他のライブラリも利用できる場合があります。
  • WriteableBitmap (より使いやすい API を備えたサードパーティ バージョンについては、 WriteableBitmapExを参照してください) または同様のものを使用して、Bitmap との間で直接ブリッティングします。

おそらく他にもたくさんのオプションがあります。私の好みは、超高速フレーム レートを必要としないペースの遅いゲームの場合、最初は Canvas を使用することです (レイアウト作業にはかなりのオーバーヘッドが発生しますが、作業が少なくなり、正確な方法で見やすくなる可能性があります)。あなたがしたい)。

絶対的な制御と速度が必要な場合は、SlimDX を使用して D3D を使用しますが、これは初心者にとってかなりの学習曲線です。

于 2012-09-04T15:10:57.187 に答える