使用核心图形,我将图像移动到预定义的路径上。
我想使用多个图像而不是一个图像来实现动画。 任何人都可以告诉我如何实现这一点(使用多个图像而不是一个)?
这是我的单张图片代码:
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图形可以实现吗?或者我应该使用Cocoa 2D?
答案 0 :(得分:1)
是的,您可以使用多个图像而不是一个图像来实现动画。卡通的制作方式。您甚至可以使用Bezier曲线在动画中制作不同的图像。它会是这样的 -
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];
您也可以查看此内容 - How to animate images using bitmaps / rgb data in iOS