Windows phone 7 Windows Phone自定义着色器错误?

Windows phone 7 Windows Phone自定义着色器错误?,windows-phone-7,xna,xna-4.0,Windows Phone 7,Xna,Xna 4.0,在Windows Phone XNA 4.0中,我在编译时收到以下错误:Windows Phone平台不支持自定义着色器 这真的很烦人,因为我有一个Xbox 360版本的项目,还有一个Windows版本的项目 我尝试使用基于编译的#if!WINDOWS_PHONE和#endif,但运气不好。它似乎忽视了这一点 在Windows Phone项目中编译时,如何使此文件被排除或忽略?只是一个猜测,但如果Windows Phone不支持XNA游戏的自定义着色器,但我不知道SilverLight是否有任何

在Windows Phone XNA 4.0中,我在编译时收到以下错误:Windows Phone平台不支持自定义着色器

这真的很烦人,因为我有一个Xbox 360版本的项目,还有一个Windows版本的项目

我尝试使用基于编译的
#if!WINDOWS_PHONE
#endif
,但运气不好。它似乎忽视了这一点


在Windows Phone项目中编译时,如何使此文件被排除或忽略?

只是一个猜测,但如果Windows Phone不支持XNA游戏的自定义着色器,但我不知道SilverLight是否有任何功能

但是,XNA中可以使用几种内置效果:

•皮肤缺陷

•环境地图效应

•双重纹理效果

•AlphaTestEffect


针对XNA
Reach
配置文件的游戏将是跨平台的,因为Reach配置文件包含在XNA的所有实现中共享的元素。要使用更高级的选项,
Hi-Def
配置文件需要有针对性。但是
高清
与Windows Phone不兼容。

作为一种解决办法,您可以:

  • 为WP7和Xbox创建单独的游戏和内容项目
  • 在WP7上手动将“构建操作”从“编译”切换到“无”(仅适用于受虐狂)
  • 由于资产构建操作是在.contentproj文件中定义的,因此您可以有2个版本的资产构建操作,或者编写一个脚本对其进行修改(并且该脚本可能会作为编译过程的一部分自动运行)
由于您可能还希望在WP7上使用比在Xbox上使用的更小的纹理等,因此我将为WP7和Xbox创建单独的游戏和内容项目,并将常见的游戏代码移动到库中

哦,请告诉我您是否考虑如何根据解决方案配置选择不同的内容项目,以便不需要单独的游戏项目:)