0

XNAが埋め込まれたwinformでMapEditorを書いています。そして、私の最大の問題は、ContentManager でファイルを読み込もうとすると、.XNB ファイルしか読み取れないことです。

次のような効果ファイルを読みたかった:

effect = contentManager.Load<Effect>("Effect2");

しかし、「Effect2.xnbが存在しません」というエラーが表示されます。そして、「Effect2.fx」を追加しても、「Effect2.fx.xnb が存在しません」というメッセージでエラーが表示されます:\

どうすればいいのかわかりません。コンテンツのプロパティを設定することで解決策を見ました。ただし、この場合は winform アプリケーションであるため、これらのプロパティを設定できません。

誰かが素晴らしいアイデアか何かを持っていますか?

編集!

解決策が見つかりました!

動的読み込み用のいくつかのヘルパー メソッドを記述して、この例の ContentBuilder を実装しました: http://create.msdn.com/en-US/education/catalog/sample/winforms_series_2

4

1 に答える 1

1

XNA コンテンツ プロジェクトを追加し、そのプロジェクトにコンテンツを含める必要があります。これらのファイルはすべて、ロードできる個々の XNB ファイルにコンパイル/処理されます。WinForms プロジェクトでそのプロジェクトを必ず参照してください。

ゲーム プロジェクトにも同じルールが適用されます。付随するコンテンツ プロジェクトが必要です。

編集

ああ、そうです...動的にロードしたいのです。そのためには、マップ エディターを使用しようとするすべてのコンピューターに XNA 開発フレームワークがインストールされていることを確認する必要があります。次に、ContentManager でファイルをロードする前に、ファイルを手動で処理する必要があります...これを行う方法が完全にはわかりません。

編集

実行時に未処理のコンテンツをロードする方法の詳細については、この投稿をご覧ください: How do I load a texture in XNA at runtime?

于 2012-06-16T20:47:06.137 に答える