增加镜头之间的延迟

时间:2011-01-07 11:09:49

标签: c++

这是我的代码,我将函数称为主循环中的每个循环。这导致很多火灾发生率很高。我希望增加一些延迟来获得可能2-3 / s的RoF,但我知道怎么做的唯一方法会延迟我的整个循环。

void game::shooting(){

if (P->shoot()){
  for(int i=0;i<3;i++){
   VGCVector der = VGCVector (-5+5*i,5);
   VGCVector hit = P->getPos();
   VGCVector calib = VGCVector (10,0);
   hit= hit+calib;
  SV.push_back(shot(hit,der,false));
  }


}
}

2 个答案:

答案 0 :(得分:2)

if ( NextShootTime < CurrentTime )
{
  Shoot();
  NextShootTime = CurrentTime + ShootDelay;
}

将NextShootTime初始化为0,然后进行设置。

如果帧速率非常低,您可能还希望在一帧中排队多个项目符号。

答案 1 :(得分:0)

您需要传递帧的时间并根据预期的射击速率进行检查。