私は 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