拉伸精灵图像

3

第一篇文章,我是一名一年级的程序员,请多多包涵。

在monogame中绘制精灵时,有人知道如何将其拉伸到整个屏幕吗?

例如,我有一个启动屏幕,但它不会拉伸到整个屏幕(因为它在打开时被最大化了)。 我的代码是“spriteBatch.Draw(startScreen, Vector2.Zero, null, Color.White);”

null代表矩形属性。 有没有人知道一个单词可以替换null,以便将其拉伸?

这是我为纹理加载内容的代码:

startScreen = Content.Load<Texture2D>("Images/startGameSplash");

接下来,我在我的Draw方法中调用它:

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

            switch (gameState)
            { 
                case GameState.StartScreen:
                    //draw the start screen
                    spriteBatch.Begin();
                    spriteBatch.Draw(startScreen, Vector2.Zero, null, Color.White);
                    //Drawing each rocket with another foreach
                    spriteBatch.End();
                    break;

                case GameState.Running:
                    spriteBatch.Begin();
                    tank.Draw(spriteBatch);

                    foreach (BaseRocket shot in rocket) {
                        shot.Draw(spriteBatch);
                    }
                    spriteBatch.End();
                    break;

                case GameState.EndScreen:
                    spriteBatch.Begin();
                    spriteBatch.Draw(endScreen, Vector2.Zero, null, Color.White);
                    spriteBatch.End();
                    break;

                default:
                    break;

            }
            base.Draw(gameTime);

        }
    }
}

Thanks,


你能展示更多的代码吗? - Raptor
完成,您需要更多吗? - Brandon M
如果您阅读monogame的SpriteBatch类的文档/源代码,您会看到这个:public void Draw (Texture2D texture, Rectangle rectangle, Color color),其中第二个参数是精灵的大小。将屏幕大小矩形分配给该参数,您的精灵应该填充屏幕。 - Raptor
搞定了,谢谢。我使用了spriteBatch.Draw(startScreen, new Rectangle(0,0,GraphicsDevice.Viewport.Width, GraphicsDevice.Viewport.Height), Color.White);。 - Brandon M
很高兴知道代码现在能正常运行。我将注释格式化成下面的答案,请如果您觉得有用请接受,谢谢。 - Raptor
1个回答

4

从MonoGame的SpriteBatch类的源代码 / 文档中,有一个Draw函数,它接受大小作为第二个参数:

public void Draw (Texture2D texture, Rectangle rectangle, Color color)

将屏幕大小矩形分配给参数,您的精灵应该填满屏幕。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接