很简单..我认为在更新计算中查找错误

时间:2012-01-29 18:46:48

标签: c# xna-4.0

我有一个百分比为1.0f的矩形 这意味着100%
所以在某些时候我通过鼠标点击左边将这个百分比设置为另一个函数的0.0f 现在将矩形填充回100%或1.0f就是问题所在 我看到矩形长大,但从未在合适的时间内(time_to_fill_in_seconds) 在更新我有以下

    private void updateInterface(GameTime gameTime)
    {
        this.newGameTime += gameTime.ElapsedGameTime.Milliseconds;

        if ((rectangle.getPercentage() == 0) &&
            (rectangle.getAddValue() == 0))
        {
            float time = 1000 * time_to_fill_in_seconds;

            // update rectangle add values
            rectangle.incrementToIn(1.0f, time);
       }

       rectangle.Update(gameTime);
    }

和内部矩形

    // Value to be added on each Update
    public void incrementToIn(float targetPercentage, float time)
    {
        setAddValue((targetPercentage - currentPercentage) / time);
    }


    public override void Update(GameTime gameTime)
    {
        if ((percentage <= 1.0f) && (addValue > 0))
        {
            if (percentage == 1.0f)
                addValue = 0;
            percentage += addValue;
        }
    }

我已经失去了2天寻找问题...... 酒吧需要很长时间才能填写 我究竟做错了什么?

这可能很简单...... 如果你看错了什么我很感激你的帮助 谢谢

1 个答案:

答案 0 :(得分:1)

Pheraps我错了,但似乎百分比不会永远为0.事实上,Update将addValue设置为0而不是百分比。
此外我建议您更换测试 百分比== 1 同 百分比&gt; = 1。