1

画像のNSArrayから画像のアニメーションを再生するUIViewを正常に作成しました。アニメーションの再生と同時にこの画像を動かそうとしています。UIViewの.centerプロパティの使用が機能していないだけで、ある種の構文エラーが発生している必要があります。これは、私が一生理解できないものです。

元の投稿:

私はbrandontrebのチュートリアルで遊んでいます。アニメーション化されたスプライトを所定の位置でうまく踊らせることができますが、実際に画面全体をすくってもらいたいです。親愛なる魂はできますか:

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

1 に答える 1

3

削除する:

ryuJump.center = p;

基本的に、設定したのとまったく同じ位置にアニメーション化するように uiview に指示しています (したがって、何も起こりません)。

于 2012-10-03T00:48:17.023 に答える