我是XNA / MonoGame开发的完全初学者。我使用MonoGame和XAML for WinRT开始我自己的项目,希望它有一天会到达Windows App Store。我遇到了一个严重的问题,请参阅video。我使用了线框,因此可以很容易地看到丢失的顶点。只有用户输入产生的爆炸才是完美的。所有这些都使用相同的逻辑。
我正在与球碰撞做这个游戏,非常简单,确实如此。在某些情况下,这些球会爆炸,并且它们会根据某些规则开始膨胀。当爆炸由具有相同类型爆炸的用户输入启动时,以下爆炸根本不会出现。基元的一些顶点消失,它们看起来像一些奇怪的形状,但根本不是圆形。我尝试禁用CullMode(将其设置为None),DepthBuffer(设置为false),StencilEnable(设置为false)。这些都没有帮助。所有这些基元都在同一个z平面(z = 0)。有没有人有什么建议?非常感谢您的帮助,非常感谢。您可以在下面找到有关详细信息的代码。
在更新期间,我会连续浏览所有对象,进行必要的更新,并按照相同的顺序调用每个对象:
this.graphicsDevice.DrawUserPrimitives<VertexPositionColor>(PrimitiveType.TriangleStrip, circleVertices, 0, primitiveCount);
这是我申请的BasicEffect:
basicEffect.Projection = Matrix.CreateOrthographicOffCenter
(0, graphics.GraphicsDevice.Viewport.Width, // left, right
graphics.GraphicsDevice.Viewport.Height, 0, // bottom, top
0, 1); // near, far plane
答案 0 :(得分:0)
如果没有看到更多代码,这将很难回答。从视频中可以看出,当您为从用户输入开始的爆炸生成circleVertices时必定存在问题。是否可以在某处发布您的代码?