2012-04-10 4 views
0

В настоящее время я разрабатываю игру для iphone, в которой многие образы будут вращаться вокруг кругов. Я поразил тот момент, когда я должен написать код для достижения этого. Я смущен тем, какие математические операции я должен использовать, и как это реализовать. Это очень помогло бы, если бы процесс можно было объяснить, используя примеры кода. Если кто-то смущен тем, что я имею в виду, я просто пытаюсь переместить центр UIImageView по окружности круга с постоянной скоростью. Любая помощь приветствуется. :)перемещение UIImageView вокруг окружности?

ответ

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 
+0

Не совсем то, что я искал, но все равно спасибо :) – Fitzy