如何在cocos2d iphone中以随机时间间隔安排或调用方法

时间:2014-06-09 11:03:42

标签: cocos2d-iphone

我想在不规则的时间间隔调用一个方法意味着它应该是随机时间加上我也希望它在某个定义范围内。

喜欢:它应该在3到8之间随时调用。

我试过这个:

[NSTimer scheduledTimerWithInterval: 1.0 target:self selector:@selector(myMethod:)  userInfo:nil repeats: YES];

void mymethod()
{
  if(arc4random() % 10 == 1)
  {
      // calling my method here;
  }
}

这样,我没有得到我想要的随机化。

任何人都可以帮助我!

1 个答案:

答案 0 :(得分:1)

在这里,您可以制作一个随机间隔调用的调度程序。

-(void)randomTimeScheduler{


int time = arc4random()%5;
int nextTimeOfCall = 3+time;

NSLog("it will be called after:%d",nextTimeOfCall);

[self performSelector:@selector(randomTimeScheduler) withObject:self afterDelay:nextTimeOfCall];

}

你必须从你的班级调用它,然后它将作为调度程序。并且它具有有限的间隔时间3-8。