Проблема воспроизведения последовательности изображений PNG - PullRequest
0 голосов
/ 27 августа 2009

Хорошо, у меня есть кнопка, которая при нажатии должна анимировать / воспроизводить последовательность изображений PNG.

Моя проблема -

  • Я нажимаю кнопку (кнопка A), и воспроизводится последовательность изображений - что хорошо!
  • но затем я снова нажимаю (кнопка A) и ничего не происходит. - плохо.
  • но потом ... если я нажму (кнопка A) в третий раз - воспроизводится последовательность изображений.

Таким образом, последовательность изображений воспроизводится только каждый раз, когда я нажимаю кнопку ? ... Я не могу понять, что может быть причиной этого?

Другой сценарий, который может дать вам подсказки к проблеме -

  • Я нажимаю кнопку (кнопка A) и все отлично работает
  • Я нажимаю другую кнопку ( кнопка B ), и она делает свое дело
  • Затем я снова нажимаю (кнопка A), и все работает нормально.

Похоже, последовательность изображений воспроизводится только в том случае, если между нажатиями (кнопка A) происходит что-то еще?

Есть идеи?

Вот код ... Представления viewDidLoad имеют [self loadAnimX01];

    - (void) loadAnimX01 {

    x01 = [[UIImageView alloc] initWithFrame:CGRectMake(35.0f, 112.0f,70.0f, 115.0f)];
    NSMutableArray *array = [NSMutableArray array];
    for (int i = 1; i <= 15; i++) 
        [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"pipe01_%02d.png",i]]];
    x01.animationImages = array;
    x01.animationDuration = 0.7;
    x01.animationRepeatCount = 1;
    [self.view addSubview:x01];
    [x01 release];
}

- (IBAction)pX01 {
    [x01 startAnimating];
}

Спасибо!

1 Ответ

1 голос
/ 28 августа 2009

Ну, я нашел решение. Но я все еще не могу понять это!?

  • Я должен проверить, играет ли последовательность
  • Затем остановите последовательность
  • Тогда играйте.

Это позволяет воспроизводить последовательность изображений при каждом нажатии кнопки

Если кто-нибудь может сказать, почему я должен это сделать ... пожалуйста, дайте мне знать

Вот мое решение

- (IBAction)pX01{
if ([x01 isAnimating]) { 
    [x01 stopAnimating];
}
[x01 startAnimating];

}

Спасибо!

...