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 に答える