无法获得while循环绘制

时间:2013-09-27 20:26:47

标签: c# xna

我将每个对象的绘图保存在一个单独的类中,然后在主Draw类中调用它。无论如何,我需要让这个循环正确,因为我将对它进行大量建模。

它会第一次为我绘制,但之后xCoord似乎不适合我,否则循环会出现其他问题。没有语法错误等,程序运行,而不是我想要它!

非常感谢任何帮助......

    /// <summary>
    /// Draws the bottom platform (ground)
    /// </summary>
    public void DrawBottomPlatform()
    {

        int xCoord = 0;
        int yCoord = (screenHeight / 10) * 9;
        int width = screenWidth / 20;
        int height = screenHeight / 20;
        Rectangle bottomRectangle = new Rectangle(xCoord, yCoord, width, height);

        int i = 0;
        while (i <= 5)
        {
            spriteBatch.Draw(grassTexture, bottomRectangle, Color.White);
            xCoord += bottomRectangle.Width;
            i += 1;
        }


    }

1 个答案:

答案 0 :(得分:4)

您永远不会使用更新的xCoord,一旦循环开始,该值就会被忽略。而不是更新xCoord,而是在每次迭代时移动矩形:

    int i = 0;
    while (i <= 5)
    {
        spriteBatch.Draw(grassTexture, bottomRectangle, Color.White);
        bottomRectangle.X += bottomRectangle.Width;
        i += 1;
    }