在 wp 7.1 设备与 wp 7.1 模拟器上渲染 wp 7.1 xna 游戏时,是否有人遇到过不一致的行为?游戏在设备上正确渲染,但在模拟器上结果显示为紫色。此外,在设备上截取游戏截图RenderTarget2D.SaveAsJpeg
会产生与模拟器相同的错误结果。
代码冗长而混乱,但基本上我试图用简单的SpriteBatch.Draw
和一些Texture2D
's 和RenderTarget2D
's 来渲染一个多纹理的 2d 地形,如下所示:
foreach TerrainLayer layer
{
GraphicsDevice.SetRenderTarget(layer.RenderTarget2D) (SurfaceFormat.Color)
GraphicsDevice.Clear(Color.Black)
spriteBatch.Begin(args1)
spriteBatch.Draw(layer.Texture2D) (dxt1)
spriteBatch.End()
spriteBatch.Begin(args2)
spriteBatch.Draw(layer.alphamap) (SurfaceFormat.Color)
spriteBatch.End()
}
GraphicsDevice.SetRenderTarget(renderedTerrain) (SurfaceFormat.Bgr565)
spriteBatch.Begin(alphablend)
foreach TerrainLayer layer
{
spriteBatch.Draw(layer.RenderTarget2D)
}
spriteBatch.End()
GraphicsDevice.SetRenderTarget(null);
GraphicsDevice.Clear(Color.Black);
//then draw to the final scene with
//graphics.PreferredBackBufferFormat = SurfaceFormat.Bgr565;
sb.Begin()
draw renderedTerrain, alphablend
sb.End();
更新:为了澄清问题,这是在设备上看到的: 正确的结果
这就是模拟器中显示的内容和SaveAsJpeg
设备上的结果:
不正确的结果