0

私は現在、多くの画像が円の周りを回転する iPhone 用のゲームを開発しています。これを達成するためにコードを書かなければならない点に気づきました。どの数学演算を使用する必要があるか、およびこれをどのように実装するかについて混乱しています。コード例を使用してプロセスを説明できれば、非常に役立ちます。誰かが私が言っていることに混乱している場合、私は単純に UIImageView の中心を一定の速度で円の周囲に移動しようとしています。どんな助けでも大歓迎です。:)

4

1 に答える 1

0

CGRect rect1; CGRect rect2; CGRect rect3;....

viewdidload() で {

rect1 = imageView1.frame
rect2 = imageView2.frame;
rect3 = imageView3.frame;



[UIImageView beginAnimations:nil context:nil];




[UIImageView setAnimationDelegate:self];
[UIImageView setAnimationBeginsFromCurrentState:YES];
[UIImageView setAnimationDuration:1.5];
[UIImageView setAnimationDidStopSelector:@selector(rotate:)];

imageView1.center = CGPointMake(rect2.origin.x, rect2.origin.y);
imageView1.transform = CGAffineTransformMakeScale(1.2, 1.2);
imageView2.center = CGPointMake(rect3.origin.x, rect3.origin.y);
imageView2.transform = CGAffineTransformMakeScale(2, 2);
    [UIImageView commitAnimations];
     }

- (void)rotate:(NSString *)animationID
   {
[UIImageView beginAnimations:nil context:nil];
[UIImageView setAnimationDelegate:self];
[UIImageView setAnimationBeginsFromCurrentState:YES];
[UIImageView setAnimationDuration:1.5];
[UIImageView setAnimationDidStopSelector:@selector(rotate1:)];

imageView1.center = CGPointMake(rect3.origin.x, rect3.origin.y);
imageView1.transform = CGAffineTransformMakeScale(2, 2);
imageView1.alpha = 1;
imageView2.center = CGPointMake(rect4.origin.x, rect4.origin.y);
imageView2.transform = CGAffineTransformMakeScale(1.2, 1.2);
imageView2.alpha = .5;
    .....
   [UIImageView commitAnimations];
     }

     - (void)rotate1:(NSString *)animationID
    {
[UIImageView beginAnimations:nil context:nil];
[UIImageView setAnimationDelegate:self];
[UIImageView setAnimationBeginsFromCurrentState:YES];
[UIImageView setAnimationDuration:1.5];
[UIImageView setAnimationDidStopSelector:@selector(rotate2:)];

imageView1.center = CGPointMake(rect4.origin.x, rect4.origin.y);
imageView1.transform = CGAffineTransformMakeScale(1.2, 1.2);
imageView1.alpha = .5;
imageView2.center = CGPointMake(rect5.origin.x, rect5.origin.y);
imageView2.transform = CGAffineTransformMakeScale(1, 1);
imageView2.alpha = .15;
     ....
    [UIImageView commitAnimations];
      }

     try like this
于 2012-04-10T14:42:29.270 に答える