Есть ли другой способ сделать анимацию? - PullRequest
0 голосов
/ 01 марта 2010

Есть ли другой способ сделать анимацию, кроме моего кода ниже? Я спрашиваю, потому что у меня будут довольно интенсивные анимации, которые могут получить до 20-30 кадров. Мне также интересно, можно ли воспроизводить звук с каждым кадром?

popup.animationImages = [NSArray arrayWithObjects:
                                 [UIImage imageNamed:@"picture1.png"],
                                 [UIImage imageNamed:@"picture2.png"],
                                 [UIImage imageNamed:@"picture3.png"],
                                 [UIImage imageNamed:@"picture4.png"],
                                 [UIImage imageNamed:@"picture5.png"],
                                 [UIImage imageNamed:@"picture6.png"],
                                 [UIImage imageNamed:@"picture7.png"], nil];
        popup.animationDuration = 1.750567;
        popup.animationRepeatCount = 1;
        [popup startAnimating];
        [self.view addSubview:popup];

1 Ответ

1 голос
/ 01 марта 2010

Ну, если не считать что-то вроде

(NSArray *) createAnimationArrayWithFileStem:(NSString *) stem firstFrame:(int) firstFrame lastFrame:(int) lastFrame{
    NSMutableArray *animationArray = [[NSMutableArray alloc] init];
    for (int currentFrame=firstFrame;currentFrame<=lastFrame;currentFrame++){
        [animationArray addObject:[UIImage imageNamed:[NSString stringWithFormat:@"%@%d.png",stem,currentFrame]];
    }
    [animationArray addObject:nil];
    [animationArray autorelease];
    return animationArray;
}

Или что-то очень похожее, позволит вам просто сделать

popup.images = [self createAnimationArrayWithFileStem:@"picture" firstFrame:1 lastFrame:7];
...