在MonoGame中绘制一个三角形

时间:2016-12-29 10:19:57

标签: c# xna 2d monogame

我正在尝试使用DrawUserPrimitives在MonoGame中绘制绿色2D三角形,但我似乎无法使其正常工作。我尝试过的每一种方法都会导致模糊的错误或者没有任何方法。

这是我最近尝试绘制一个三角形,几乎完全取自我在互联网上找到的资源:

protected override void LoadContent()
{
    _vertexPositionColors = new[]
    {
        new VertexPositionColor(new Vector3(0, 0, 1), Color.Green),
        new VertexPositionColor(new Vector3(10, 0, 1), Color.Green),
        new VertexPositionColor(new Vector3(10, 10, 1), Color.Green)
    };

    _basicEffect = new BasicEffect(GraphicsDevice);
    _basicEffect.World = Matrix.CreateOrthographicOffCenter(
        0, GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height, 0, 0, 1);
}

protected override void Draw(GameTime gameTime)
{
    GraphicsDevice.Clear(Color.CornflowerBlue);

    EffectTechnique effectTechnique = _basicEffect.Techniques[0];
    EffectPassCollection effectPassCollection = effectTechnique.Passes;

    foreach (EffectPass pass in effectPassCollection)
    {
        pass.Apply();

        GraphicsDevice.DrawUserPrimitives(PrimitiveType.TriangleList,
            _vertexPositionColors, 0, 1);
    }

    base.Draw(gameTime);
}

这会导致蓝色的空白屏幕没有任何三角形痕迹。

0 个答案:

没有答案