2011-12-21 7 views
3

C#フォームを使用してゲームエディタを作成しようとしていますが、デシリアライズについては問題があります。フォームのアプリケーションでコンテンツパイプラインを使用することはできません。プロジェクトにコンテンツ参照を追加するオプションもないからです。フォームアプリケーションでコンテンツパイプラインを使用するにはどうすればよいですか? XMLコンテンツをロードして逆シリアル化する別の方法はありますか?C#フォームでのXNAコンテンツパイプラインの使用

答えて

1

手動あなたはおそらくも

<XnaFrameworkVersion>v4.0</XnaFrameworkVersion> 
<XnaPlatform>Windows</XnaPlatform> 
を追加する必要があります
<ProjectTypeGuids>{6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> 

.csprojファイルを編集して、アセンブリ名が含まれている最初の PropertyGroupセクションに以下を追加し、プロジェクトGUIDなど

VSでプロジェクトをリロードすると、そのプロジェクトにコンテンツ参照を追加できるはずです。

指定された2つのGUIDは、WindowsとXNA(Windows)用です。プロジェクトのターゲットを変更する必要がある場合は、some common project type guids(若干日付が入りますが)のリストがあります。

+0

ありがとうございます。これはうまくいきました。しかし、デシリアライズすると、次のエラーが表示されます。「System.Int32 []のContentTypeReaderが見つかりません」私は参照を逃したと思うか、名前空間にどこかが含まれていると思うが、何が分からない。何か案は? – Jamie

0

Winforms Series 2: Content Loading AppHub sampleをご覧ください。

基本的には、適切なmicrosoft.xna.framework.contentクラスを読み込んでコンパイルしたxnbファイルを読み込みます。

microsoft.xna.framework.content.pipelineの名前空間にあるクラスを使用して、xnbファイル(コンテンツプロジェクトがあなたのために行うもの)を作成します。

は、コンテンツパイプラインの概要についてはこちらをご覧ください:What is the Content Pipeline?


私のXMLコンテンツをロードし、デシリアライズする別の方法はありますか?

はい、任意のシリアライズ方法を使用してください。おそらくXDocumentです。

+1

ビルド時にすべてのコンテンツを処理する場合は、おそらくwinforms1サンプルが適しています。実行時にコンテンツを処理する必要がある場合は、winforms2サンプルを使用してください。 –

+0

OPは彼のwinformsにコンテンツプロジェクトを追加することを頼んでいたので(資産を作るだろう)、私は2番目のサンプルに行きました。 –

関連する問題