2011-04-30 82 views
0

我正在生成随机火球,但我的问题是它产生大量的火球。控制随机生成元素的数量

如何控制生成的火球数量?

- (void)onTimer 
{ 
    // build a view from our fire image 
    UIImageView* fireView = [[UIImageView alloc] initWithImage:fireballs]; 


    int startX = round(random() % 320); 
    int endX = round(random() % 320); 
    double scale = 1/round(random() % 100) + 1.0; 
    double speed = 1/round(random() % 100) + 1.0; 


    fireView.frame = CGRectMake(startX, -100.0, 25.0 * scale, 25.0 * scale); 



    [self.view addSubview:fireView]; 

    [UIView beginAnimations:nil context:fireView]; 

    [UIView setAnimationDuration:5 * speed]; 


    fireView.frame = CGRectMake(endX, 500.0, 25.0 * scale, 25.0 * scale); 

    [UIView setAnimationDidStopSelector:@selector(onAnimationComplete:finished:context:)]; 
    [UIView setAnimationDelegate:self]; 
    [UIView commitAnimations]; 

} 

回答

0

您可能需要调整您的定时器发射频率。下面是一个例子,只需更改“2.0”以下的代码即可:

[NSTimer scheduledTimerWithTimeInterval:2.0 
    target:self 
    selector:@selector(targetMethod:) 
    userInfo:nil 
    repeats:NO]; 
+0

它正在工作!我已经设置了时间间隔1.0,然后重复:YES。结果我得到了几个从屏幕顶部落下的火球,这就是我想要的!谢谢!! – user720235 2011-05-02 05:06:31