Moving an object randomly around the screen

后端 未结 1 1778
离开以前
离开以前 2020-12-05 12:48

I\'m trying to animate a UIButton to move randomly around the screen in different directions. The code below is kind of working. The button will begin moving along a random

1条回答
  •  庸人自扰
    2020-12-05 13:00

    try this:

        -(void)animationLoop:(NSString *)animationID finished:(NSNumber *)finished context:(void *)context { 
    
            [UIView beginAnimations:nil context:nil]; 
            [UIView setAnimationDuration:1]; 
    // remove:
          //  [UIView setAnimationRepeatCount:1000]; 
          //  [UIView setAnimationRepeatAutoreverses:YES]; 
    
            CGFloat x = (CGFloat) (arc4random() % (int) self.view.bounds.size.width); 
            CGFloat y = (CGFloat) (arc4random() % (int) self.view.bounds.size.height); 
    
            CGPoint squarePostion = CGPointMake(x, y); 
            button.center = squarePostion; 
    // add:
         [UIView setAnimationDelegate:self]; // as suggested by @Carl Veazey in a comment
            [UIView setAnimationDidStopSelector:@selector(animationLoop:finished:context:)];
    
            [UIView commitAnimations];
        }
    

    and just add a counter (int) inside the method to check if it's executed more than 1000 times, if wanna stop it...

    0 讨论(0)
提交回复
热议问题