使用和过度使用静态变量

时间:2016-11-13 05:56:01

标签: c++ game-loop

建议我在哪里使用静态变量?

因为我现在更倾向于使用它。是否有任何使用静态变量的做法是不好的做法,否则会很快填满内存?

目前我正在用c ++做小游戏。因此,为了保持一些状态,比如跳跃位置和动画时间,我必须在函数中使用静态变量,并且该函数将在循环中被多次调用。所以静态变量会做那个Job。是否有任何oo模式来克服这个问题?

void jumpit(){
    static int jump ;
    if( !jump && pressed)
          jump=1;
    if (jump)
         obj.y++;
} 

在循环中我会调用它来完成工作。我们还有更好的想法吗?

1 个答案:

答案 0 :(得分:0)

你的" obj"可以跟踪自己的状态。

独立的跳跃功能可以实现为:

void jumpit(Object& obj, bool pressed)
{
        if( !obj.jump && pressed)
              obj.jump = true;
        if (obj.jump)
             obj.y++;
}

或者最好将jumpit作为" Object"

的一部分来实现

将状态保持在函数中几乎不是一个好主意。