生成随机下降图像(xcode)

时间:2012-11-23 23:09:28

标签: iphone objective-c xcode

我想创建从屏幕顶部落下的随机图像,直到它们消失的底部。到目前为止,我已经能够在固定的生成点(中心)处使1幅图像掉落,但我不确定如何在顶部的随机位置产生更多的图像(有点像降雪或降雨效果) )。

这是我到目前为止所做的:

-(void) viewDidLoad {
    moveObjectTimer = [NSTimer scheduledTimerWithTimeInterval:0.01 target:self selector:@selector(moveObject) userInfo:nil repeats:YES]; }


-(void) moveObject {        // + means down and 5 is SPEED
    bird.center = CGPointMake(bird.center.x, bird.center.y +5); }

1 个答案:

答案 0 :(得分:0)

假设您在一个数组中有10个图像,然后随机选择任意10个图像;

int randomIndex rand()/ RAND_MAX * 10 + 1;

然后在某种方法中,您可以将其设置为动画;

-(void) moveObject{
   int randomIndex = rand()/RAND_MAX * 10 + 1;
   UIImage *image = [self.myImages objectAtIndex:randomIndex];
   UIImageView *imageView = [[UIImageView alloc] initWithImage: image];
  CGRect mainRect = CGRectMake(view.frame.size.width + image.size.width,view.frame.size.height - image.size.height,image.frame.size.width,image.size.height );
    imageView.frame mainRect;
    [UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionCurveEaseIn animations:^{
        mainRect.frame.size.origin.x = 0;
        mainRect.frame.origin.y = 0;
        imageView.frame =mainRect;
    } completion:nil];
}

你的NSTimer应该触发这个方法然后这会从你的图像中选择随机图像,这里我假设你有一个数组中的10个图像。然后,这将按照NSTimer指定的指定时间间隔从顶部/右角外部到左下角的图像设置动画。