iPhone: как анимировать серию изображений?и какой лучший способ сделать это? - PullRequest
0 голосов
/ 13 декабря 2011

Я хочу анимировать серию изображений в моем приложении.

Я нашел следующий код для анимации:

 imgView.animationImages = [NSArray arrayWithObjects:  
                           [UIImage imageNamed:@"4.png"],
                           [UIImage imageNamed:@"4.png"],
                           [UIImage imageNamed:@"4.png"],
                           [UIImage imageNamed:@"3.png"],
                           [UIImage imageNamed:@"3.png"],
                           [UIImage imageNamed:@"3.png"],
                           [UIImage imageNamed:@"2.png"],
                           [UIImage imageNamed:@"2.png"],
                           [UIImage imageNamed:@"1.png"],
                           [UIImage imageNamed:@"1.png"],

                           nil];
imgView.animationDuration = 3.00;
imgView.animationRepeatCount = 1.0; 
[imgView startAnimating];

Но приведенный выше код подходит, когда у нас меньше изображений для анимации.Иначе это снизит производительность приложения.

Принимая во внимание, что мне приходится анимировать слишком много изображений.

Так какой же другой вариант?И какой лучший способ сделать это?

Ответы [ 2 ]

0 голосов
/ 13 декабря 2011
-(void)animationImageChange:(NSString *)imageName{

NSString* imagePath=[[NSBundle mainBundle] pathForResource:imageName ofType:@"jpg"];
[backgroundImage setImage:[UIImage imageWithContentsOfFile:imagePath]];

}

- (void)viewDidLoad {
    [super viewDidLoad];

     doorNumberImage=0;
 timer=[NSTimer scheduledTimerWithTimeInterval:0.1f
                                         target:self
                                       selector:@selector(startAnimation)
                                       userInfo:nil
                                        repeats:YES];

}

-(void)startAnimation{
   [self doorAnimationImageChange:[NSString stringWithFormat:@"%d",doorNumberImage]];
    doorNumberImage=doorNumberImage+1;
}
0 голосов
/ 13 декабря 2011

Самый простой способ - создать подкласс NSMutableArray, он сообщает общее количество кадров и загружает / выпускает изображения по требованию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...