iOS动画图片:我喜欢在播放时移动它



我已经成功创建了一个UIView,它可以播放NSArray图像中的图像动画。我试图让这个图像在播放动画的同时移动。使用UIView的.center属性是不起作用的,我一定有某种语法错误,这是我一生都无法解决的。

原帖:

我在玩brancontreb的教程。我可以成功地让动画精灵在适当的位置跳舞,但我希望它能在屏幕上快速移动。可以一些亲爱的灵魂:

  1. 请帮我纠正我做的错误,使UIimage的中心真的在屏幕上移动吗
  2. 或者更好的是,将其更新为"动画块"最佳实践

我肯定会研究你的修复程序数小时。

- (IBAction)startWalking:(UIButton *)sender {
NSArray * imageArray  = [[NSArray alloc] initWithObjects:
[UIImage imageNamed:@"1.png"],
[UIImage imageNamed:@"2.png"],
[UIImage imageNamed:@"3.png"],
[UIImage imageNamed:@"4.png"],
[UIImage imageNamed:@"5.png"],
[UIImage imageNamed:@"6.png"],
[UIImage imageNamed:@"7.png"],
[UIImage imageNamed:@"8.png"],
[UIImage imageNamed:@"9.png"],
[UIImage imageNamed:@"10.png"],
[UIImage imageNamed:@"11.png"],
[UIImage imageNamed:@"12.png"],
nil];
UIImageView * ryuJump = [[UIImageView alloc] initWithFrame:
CGRectMake(100, 125, 150, 130)];
ryuJump.animationImages = imageArray;
ryuJump.animationDuration = 1.1;
ryuJump.animationRepeatCount=5;
CGPoint p = ryuJump.center;
p.x += 100;
ryuJump.center = p;
[UIView animateWithDuration:20
delay:0
options: UIViewAnimationOptionCurveEaseIn
animations:^{
ryuJump.center = CGPointMake(p.x, p.y);
}
completion:^(BOOL finished){
}];
ryuJump.contentMode = UIViewContentModeBottomLeft;
[self.view addSubview:ryuJump];
[ryuJump startAnimating];
}

删除:

ryuJump.center = p;

你基本上是在告诉uiview将动画设置到与你刚刚设置的位置完全相同的位置(这样就不会发生任何事情)。

最新更新