我是 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