Как вы «пинг-понг» анимации последовательности изображений UIView - PullRequest
2 голосов
/ 30 августа 2009

У меня есть UIImageView, в который загружена последовательность изображений png.

Мой вопрос: знаете ли вы, как я могу "пинг-понг" последовательность анимации? Так что он проигрывает вперед с 1-24, затем проигрывает назад с 24-1 и делает петли.

(технически это должно быть: 1-24, затем 23-1, затем 2-24, затем 23-1 ... и т. Д.)

- (void) loadAnim01 {
mon01 = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"mon01_01.png"]];
mon01.center = CGPointMake(258,69);
NSMutableArray *array = [NSMutableArray array];
for (int i = 1; i <= 24; i++) 
    [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"mon01_%02d.png",i]]];
mon01.animationImages = array;
mon01.animationDuration = 1.0;
mon01.animationRepeatCount = 0;
[self.view addSubview:mon01];
[mon01 release];

}

Большое спасибо!

Ответы [ 2 ]

7 голосов
/ 30 августа 2009
for (int i = 1; i <= 24; i++) {
    [array addObject:[UIImage imageNamed:[NSString stringWithFormat:@"mon01_%02d.png",i]]];
}
for (int j = 23; j >= 2; j--) {
    [array addObject:[array objectAtIndex:j-1]];  // -1 since arrays are 0-based
}

это добавляет вторую копию всей анимации, кроме первой и последней, в обратном порядке, что должно дать вам эффект пинг-понга.

0 голосов
/ 29 марта 2011

Нет, все в Какао подсчитывается по ссылкам, поэтому членство объекта в нескольких коллекциях будет иметь только один экземпляр, если вы не используете копию.

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