我想要动画不同版本的PNG;那么我有三个版本的这个PNG ......一个较暗的版本,一个中等较暗的版本和一个克莱尔版本。在我的动画我想做这个类型的动画IOS:动画为.png
黑暗 - >中黑暗 - >克莱尔 - >中黑暗 - >暗 - >中黑暗 - > .....
这可能吗?
我想要动画不同版本的PNG;那么我有三个版本的这个PNG ......一个较暗的版本,一个中等较暗的版本和一个克莱尔版本。在我的动画我想做这个类型的动画IOS:动画为.png
黑暗 - >中黑暗 - >克莱尔 - >中黑暗 - >暗 - >中黑暗 - > .....
这可能吗?
听起来像是要动画的UIImageView
// create the view that will execute our animation
UIImageView* campFireView = [[UIImageView alloc] initWithFrame:self.view.frame];
// load all the frames of our animation
campFireView.animationImages = [NSArray arrayWithObjects:
[UIImage imageNamed:@"campFire01.gif"],
[UIImage imageNamed:@"campFire02.gif"],
[UIImage imageNamed:@"campFire03.gif"],
[UIImage imageNamed:@"campFire04.gif"],
[UIImage imageNamed:@"campFire05.gif"],
[UIImage imageNamed:@"campFire06.gif"],
[UIImage imageNamed:@"campFire07.gif"],
[UIImage imageNamed:@"campFire08.gif"],
[UIImage imageNamed:@"campFire09.gif"],
[UIImage imageNamed:@"campFire10.gif"],
[UIImage imageNamed:@"campFire11.gif"],
[UIImage imageNamed:@"campFire12.gif"],
[UIImage imageNamed:@"campFire13.gif"],
[UIImage imageNamed:@"campFire14.gif"],
[UIImage imageNamed:@"campFire15.gif"],
[UIImage imageNamed:@"campFire16.gif"],
[UIImage imageNamed:@"campFire17.gif"], nil];
// all frames will execute in 1.75 seconds
campFireView.animationDuration = 1.75;
// repeat the annimation forever
campFireView.animationRepeatCount = 0;
// start animating
[campFireView startAnimating];
// add the animation view to the main window
[self.view addSubview:campFireView];
以上是不好的建议,你不应该使用UIImageView.animationImages API。请参阅http://stackoverflow.com/questions/8112698/how-to-do-animations-using-images-efficiently-in-ios/8113027#8113027,了解在设备上运行时不会崩溃的方法。 – MoDJ
肯定。这是可能的。首先,您可以编写复杂的算法并根据需要更改图像亮度。但最简单的方法是在重复模式下动画3个图像:) – beryllium