我对Cocoa很陌生,但我想把一个简单的反应游戏放在一起。因此我需要随机生成NSTimer的时间间隔。目前我已尝试过以下代码。
int randomNumber = rand() %5;
changeColor = [NSTimer scheduledTimerWithTimeInterval:(randomNumber) target:self selector:@selector(changeBackground) userInfo:nil repeats:YES];
答案 0 :(得分:2)
如果您希望分辨率小于1秒,则应从随机数创建一个双精度数。也许是这样的:
int sourceRandom100x = rand() % 500; // i.e. 435
double randomInterval = sourceRandom100x/100.0 // 4.35
[NSTimer scheduledTimerWithTimeInterval:(randomInterval) ...
但是该技术将在每次迭代时使用相同的间隔。如果您希望每次都有一个新的随机间隔,请使计时器不重复,并在changeBackground
内设置另一个(通过委托更合适的新方法,例如{{ 1}}