Можно ли анимировать с использованием нескольких изображений вместо одного? - PullRequest
0 голосов
/ 07 марта 2012

Используя основную графику, я перемещаю свое изображение по заранее определенному пути.

Я бы хотел использовать несколько изображений вместо одного для достижения анимации. Может кто-нибудь сказать мне, как этого добиться (используя несколько изображений вместо одного)?

Это мой код с одним изображением:

bounceLayer = [CALayer layer];
bounceLayer.frame = CGRectMake(12, 12, 12, 12);
[bounceLayer setPosition:CGPointMake(175.0f, 100.0f)];  

bounceLayer.contents = (id) [UIImage imageNamed:
                                 [NSString stringWithFormat:@"Avatar_%d.png",i]].CGImage;
 [[[self view] layer] addSublayer:bounceLayer];
 [bounceLayer setPosition:CGPointMake(120.0f, 49.0f)];
 [bounceLayer addAnimation:[self bounceAnimationPathWithDuration:3.0f] forKey:nil];

bounceAnimationPathWithDuration - это функция, которая создает путь

Возможно ли это с графикой Core? или я должен использовать Какао 2D?

1 Ответ

1 голос
/ 07 марта 2012

Да, вы можете использовать несколько изображений вместо одного для достижения анимации.То, как сделаны мультфильмы.Вы даже можете использовать кривые Безье, чтобы различные изображения в вашей анимации проходили по определенному пути.Это будет что-то вроде этого -

NSArray *animImages  = [[NSArray alloc] initWithObjects:
                        [UIImage imageWithContentsOfFile:
[[NSBundle mainBundle] pathForResource:@"SodaPour1" ofType:@"png"]],
                        [UIImage imageWithContentsOfFile:
[[NSBundle mainBundle] pathForResource:@"SodaPour39" ofType:@"png"]],
                        nil];

imgGlass.animationImages = GlassAnim;
imgGlass.animationDuration = 2.5;
imgGlass.contentMode = UIViewContentModeScaleAspectFit;
imgGlass.animationRepeatCount=1;
[GlassAnim release];

, также вы можете проверить это - Как анимировать изображения с использованием растровых изображений / данных RGB в iOS

...