0

使用核心图形,我将图像移动到预定义的路径上。

我想使用多张图像而不是一张来实现动画。谁能告诉我如何实现这一点(使用多张图像而不是一张)?

这是我的带有单个图像的代码:

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 - 是一个创建路径的函数

核心显卡可以做到这一点吗?还是我应该使用 Cocoa 2D?

4

1 回答 1

1

是的,您可以使用多个图像而不是一个图像来实现动画。卡通的制作方式。您甚至可以使用贝塞尔曲线使动画中的不同图像采用特定路径。会是这样的——

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];

你也可以检查一下 -如何在 iOS 中使用位图/rgb 数据为图像设置动画

于 2012-03-07T06:05:58.267 回答