1

我想创建从屏幕顶部掉落到底部消失的随机图像。到目前为止,我已经能够在固定的生成点(中心)使 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); }
4

1 回答 1

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 指定的指定时间间隔从右上角/右上角之外到左下角为图像设置动画。

于 2012-11-23T23:29:18.050 回答