0
我想要使用核心动画制作纹理包装器制作的精灵表。CAKeyframeAnimation雪碧动画
我有一个NSCollection与我所有的精灵内容。 (键和CGImageRef的)
My Collection {
"caja01.png" = "<UIImage: 0x1cda57c0>";
"caja02.png" = "<UIImage: 0x1cda61d0>";
"caja03.png" = "<UIImage: 0x1cda62e0>";
"caja04.png" = "<UIImage: 0x1cda63f0>";
"caja05.png" = "<UIImage: 0x1cda6540>";
"caja06.png" = "<UIImage: 0x1cda6650>";
"caja07.png" = "<UIImage: 0x1cda6760>";
"caja08.png" = "<UIImage: 0x1cda68f0>";
}
,我尝试使用CAKeyframeAnimation动画:
NSArray *values = [self.mySprites allValues]; // Get the CGImageRef's from NSDictionary
// Creating a new layer
CALayer *sublayer = [CALayer layer];
sublayer.backgroundColor = [UIColor blueColor].CGColor;
sublayer.frame = imagen.frame;
[self.view.layer addSublayer:sublayer];
// Create an first image from Sprite-sheet
UIImageView *imagen = [[UIImageView alloc]initWithImage:[self.mySprites objectForKey:@"caja01.png"]];
// And add initial content to my layer
sublayer.contents = (id) imagen.image.CGImage;
// Try to make the animation
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath: @"contents"];
animation.calculationMode = kCAAnimationDiscrete;
animation.duration = 10.0;
[animation setValues:values];
[animation setRepeatCount:2];
[animation setRemovedOnCompletion:NO];
[sublayer addAnimation: animation forKey: @"contents"];
但它不工作,没有任何反应在屏幕上。有什么建议么?谢谢!
为什么不使用带有animationImages的UIImageView? – 2013-04-10 11:08:05
哎唷!我不知道它存在!谢谢,我会调查;) – 2013-05-28 15:38:42