5

XNAとWPFを組み合わせることが可能であるということは、すでにいくつかの場所で読んだことがあります。私が個人的に必要としているのはゲーム/マップエディタです。これは実際にはゲーム自体です(エンジンはバックグラウンドで実行されます)。マップシステムはシリアル化されたバージョンのオブジェクトをXMLに書き込み、後でロードされるためです。

私の問題は、エンジンをバックグラウンドで実行し、ユーザーがフロントエンドから作成するときにゲームアセットを作成し、後でそれらをシリアル化してXMLに変換する標準アプリが必要なことです。

これも便利です。ゲームからWPFを実行できる場合、UIの場合、誰かがこれを経験したことがあれば、共有していただければ幸いです。

簡単に言うと、XNAコードがコントロールの1つで、バックグラウンドで実行されているWPF(またはwinforms)アプリを作成するにはどうすればよいですか?

4

5 に答える 5

2

これを別の質問に投稿しましたが、XNAのようなコントロールをWPFに統合する方法について多くの質問があるようです。Nick GravelynのブログとArcane.Xnaの投稿を読み、WPF互換性を提供しながら、Microsoft.Xna.Framework.Gameと完全に類似した両方に類似したものを開発することができました。必要に応じて、複数のゲームクラスをインスタンス化することもできます。

https://xnaml.codeplex.com/

于 2012-04-26T03:07:40.527 に答える
1

XNAゲームウィンドウにWPFコントロールを埋め込んでいる人は誰も知りません。どちらもレンダリングにDirectXを使用しているため、これは非常に難しいことです。XNAで何でもできるので、WPFオーバーレイなどが非常に難しくなります。ゲーム内のコントロールをお探しの場合は、NeoForceをお試しください。

逆の方向に進む方がはるかに簡単です(実際にサポートされています)。XNAウィンドウをWindowsユーザーコントロールに埋め込むことができることを知っています。簡単なデモについては、これを参照してください。私はそれと同様の手法を使用して、ゲームのエディターを作成しました。残念ながら、WPFと直接統合することも面倒です(同じ理由で、XNAゲームウィンドウにWPFコントロールを配置できないため)。ただし、そのコントロールをに埋め込むことができ、それWindowsFormsHostはうまく機能する可能性があります(これまで試したことはありません)。

明らかに、WinFormsとWPFはXbox 360で利用できないため、これはXbox 360では機能しませんが、通常、エディターを360に配置することはありません。

また、実行時にゲームファイルをロードするためにXMLシリアル化を使用していないことを願っています。これが、XNAコンテンツパイプラインの目的です

于 2010-01-29T22:17:15.170 に答える
0

WPFアプリケーションを作成してから、それにXNA参照を追加してみましたか?

これを実行してから、GameObjectから継承するクラスを作成し、それをWPFアプリケーションに配置できるはずです。

WPFは、多くのDirectXやカメラ、およびWPFでゲームを作成するために必要な多くのものに直接アクセスできます。計算の一部にXNAメソッドを使用するだけかもしれません。

私は間違いなくこの猫の皮を剥ぐ方法を複数見ることができます。

于 2010-01-29T22:08:12.627 に答える
0

XNAフォーラムでこのスレッドをチェックしてください:http://forums.xna.com/forums/p/1122/6455.aspx

1)この統合が非常に面倒な理由を説明し、2)WPFフォームでXNAコントロールをホストする方法を示します(ZManの投稿を探してください)。XNA内でGUIレンダリングにWPFを使用する限り、私は息を止めません。Microsoftがこれをサポートする理由はほとんどなく、コンソールGUIエクスペリエンスは、ポイントアンドクリック用のAPIと実際にはうまく一致していません。

于 2010-01-29T22:14:31.777 に答える
0

http://iersoy.com/Posts.aspx?PostID=158 _


出典: WindowsMo​​bileのXNAにフラッシュを埋め込む方法

于 2010-02-02T17:14:57.600 に答える