0

我是 XNA/MonoGame 开发的完全初学者。我使用 MonoGame 和 XAML for WinRT 开始了我自己的项目,希望有一天它会到达 Windows App Store。我遇到了一个严重的问题,请看视频。我使用了线框,因此可以很容易地看到丢失的顶点。只有用户输入产生的爆炸是完美的。他们都使用相同的逻辑。

我正在用球碰撞做这个游戏,确实很简单。在某些情况下,这些球会爆炸,并按照某些规则开始膨胀。当爆炸是由用户输入同类型爆炸时,下面的爆炸完全不会出现。图元的一些顶点消失了,它们看起来像一些奇怪的形状,但根本不是圆形。我尝试禁用 CullMode(将其设置为 None)、DepthBuffer(设置为 false)、StencilEnable(设置为 false)。这些都没有帮助。所有这些图元都在同一个 z 平面 (z = 0) 中。有没有人有什么建议?非常感谢您的帮助,非常感谢。您可以在下面找到代码,该代码提供了有关情况的更多详细信息。

在更新期间,我连续浏览所有对象,进行必要的更新,并以相同的顺序调用每个对象:

this.graphicsDevice.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.TriangleStrip, circleVertices, 0, primitiveCount);

这是我应用的基本效果:

basicEffect.Projection = Matrix.CreateOrthographicOffCenter
           (0, graphics.GraphicsDevice.Viewport.Width,     // left, right
            graphics.GraphicsDevice.Viewport.Height, 0,    // bottom, top
            0, 1);                                         // near, far plane
4

1 回答 1

0

如果没有看到更多代码,这将很难回答。从视频中可以看出,当您为从用户输入开始的爆炸生成 circleVertices 时,一定存在问题。是否可以在某处发布您的代码?

于 2013-01-21T16:15:18.263 回答