2012-04-10 11 views
0

Ich entwickle gerade ein Spiel für das iPhone, in dem viele Bilder um Kreise drehen werden. Ich habe den Punkt erreicht, an dem ich den Code schreiben muss, um dies zu erreichen. Ich bin verwirrt darüber, welche mathematischen Operationen ich verwenden muss und wie ich dies umsetzen würde. Es würde enorm helfen, wenn der Prozess anhand von Codebeispielen erklärt werden könnte. Wenn jemand verwirrt ist, was ich meine, versuche ich einfach, die Mitte eines UIImageView um den Umfang eines Kreises mit einer konstanten Geschwindigkeit zu bewegen. Jede Hilfe wird geschätzt. :)Bewegen eines UIImageView um einen Umfang?

Antwort

0

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

in 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

Nicht ganz das, was ich suchte, aber trotzdem danke :) – Fitzy

Verwandte Themen