質問

同じアプリケーション内で XNA と WPF をブレンドするにはいくつかの方法があることを理解しています。XNA ゲームのすべての GUI と HUD に WPF を使用するのは魅力的だと思います。.NET 3.5 SP1 を使用して、このアプローチが実際にどの程度うまく機能するかについて実際に経験した人はいますか?落とし穴 ( 「空域問題」)?どのアプローチが最も効果的かに関するヒントはありますか?

役に立ちましたか?

解決

3.5 SP1 には、DirectX と WPF (D3DImage) 間の対話を改善する機能が追加されており、これを実現する 1 つの方法は XNA を使用することです。

詳細は次のとおりです。

http://jmorrill.hjtcentral.com/Default.aspx?tabid=428&EntryID=259

他のヒント

XNA 統合は、WPF に追加するもののリストの上位にあるため、将来のバージョンでこれを検討しています。詳細は決まり次第(GregSc のブログで)お知らせしますので、ご期待ください。

イアン・エリソン・テイラー

これについて詳しく読む ここ

Thamir Khason は、Tech-ed... で WPF/XNA/Silverlight に関する優れたセッションを発表しました。彼のスライドは次のとおりです。http://blogs.microsoft.co.il/blogs/tamir/archive/2008/04/14/my-teched-08-presentation-slides-download.aspx

PS.これは見ていてかなり印象的でした...彼はXboxで動作するゲームを持っていました。デスクトップでは WPF を使用して XNA をホストし、携帯電話では Silverlight を使用してすべて相互に対戦しています。

D3DImage を使用したいと考えていますが、D3DImage の動作は Windows XP と Windows Vista または 7 では異なります。

Vista または 7 では、D3DImage で使用するロック不可能な renderTarget を作成し、Direct3D9EX デバイスを使用します。XP では、D3DImage で使用するロック可能な renderTarget を作成し、通常の Direct3D9 デバイスを使用します。

また、これを PC 用に作成するだけの場合は、XNA を使用する代わりに、SlimDX を使用する方が良いかもしれません。SlimDX には Direct3D 機能が欠けておらず、Direct3D 9、10、11 をサポートしています。

http://slimdx.org/

私個人としては、この統合を試みないことをお勧めします。あなたが何をしようとしているのかはわかっています...WPF で GUI/HUD 要素を定義することの容易さは、単なる古い XNA で同じことを行うことよりもはるかに優れています。ただし、このシナリオを有効にするのに費やす時間と、このシナリオを有効にするのにかかる時間を現実的に考えてください。XNA ですべてを「ネイティブ」に実行した場合、どれだけ節約できるか。また (これはあなたにとって問題ではないかもしれませんが)、WPF は xbox や zune ではサポートされていません...だからあなたは自分自身を制限することになります:-)

投稿してからしばらく経ったことは承知していますが、XNA 用の WPF ソリューションをまだ探している場合は、次の点に注目してください。 http://red-badger.com/product. 。XPF ソリューションは、wpf を XNA に組み込みます。現時点ではベータ版なので無料ですが、コンポーネントが追加されると変更される予定です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top