0

私は XNA/MonoGame 開発の完全な初心者です。WinRT 用の XAML を備えた MonoGame を使用して独自のプロジェクトを開始しました。いつか Windows App Store に届くことを願っています。重大な問題が発生しました。ビデオをご覧ください。ワイヤーフレームを使用して、欠落している頂点を簡単に確認できるようにしました。ユーザー入力によって作成された爆発のみが完璧です。それらはすべて同じロジックを使用します。

私はこのゲームをボールの衝突でやっています。実にシンプルです。特定の条件下で、これらのボールは爆発し、いくつかの規則に従って膨張し始めます。爆発が同じタイプの爆発でユーザー入力によって開始されると、次の爆発はまったくうまく表示されません。プリミティブの頂点の一部が消えて、円ではなく奇妙な形に見えます。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
4

1 に答える 1

0

より多くのコードを見ないと、これに答えるのは難しいでしょう。ビデオから、ユーザー入力から始まる爆発の circleVertices を生成しているときに問題があるに違いないことがわかります。コードをどこかに投稿することは可能でしょうか?

于 2013-01-21T16:15:18.263 に答える