2011-10-26 7 views
3

Windows Phone XNA 4.0では、コンパイル時に次のエラーが発生します。Windows Phoneプラットフォームでカスタムシェーダをサポートしていません。Windows Phoneのカスタムシェーダーにエラーがありますか?

私はプロジェクトのXbox 360版とプロジェクトのWindows版を持っているので、これは本当に面倒です。

#if !WINDOWS_PHONE#endifというコンパイルを使ってみましたが、運はありませんでした。これを無視しているようです。

Windows Phoneプロジェクトでコンパイルすると、このファイルを除外または無視する方法を教えてください。

答えて

2

、あなたはできます

  • 手動でマゾのために(WP7の「なし」に「コンパイル」から「ビルドアクション」を切り替える
  • WP7のために別のゲームやコンテンツのプロジェクトを作成しますとXbox
  • アセット・ビルド・アクションは.contentprojファイルで定義されているため、2つのバージョンを持つことも、変更するスクリプトを作成することもできます(スクリプトはコンパイル・プロセスの一部として自動的に実行される可能性があります)

WP7では、Xboxで使用しているものよりも小さいテクスチャなどを使用したい場合もあるので、WP7とXbox用に別々のゲームとコンテンツプロジェクトを作成し、一般的なゲームコードをライブラリに移動します。動作しませんでした

ああ、あなたがに基づいて異なるコンテンツのプロジェクトを選択する方法を見つけ出す場合は、別のゲームのプロジェクトが必要とされないように、例えば、ソリューション構成を教えてください:)

+0

ありがとうございます! :) –

0

代わりに#ifndef WINDOWS_PHONEを使用できますか?

+0

。 –

2

XNAゲームのカスタムシェーダーは、Windows Phone 7ではサポートされていませんが、SilverLightの機能についてはわかりません。

しかしXNAで使用することができる効果に建てられたいくつかがあります。

•SkinnedEffect

EnvironmentMapEffect

•DualTextureEffect

ターゲット•AlphaTestEffect

ゲーム• XNA Reachプロファイルは、Reachプロファイルcontaとしてクロスプラットフォームになる予定ですXNAのすべての実装で共有されています。より高度なオプションを使用するには、Hi-Defプロファイルをターゲットにする必要があります。ただし、Hi-DefはWindows Phoneとの互換性がありません。回避策として

関連する問題