Liam Stockhomme
Liam Stockhomme

Reputation: 523

Why does this image keep moving down (objective-c)?

I'm using UIKit to create a simple game. In my game, I want the ball to completely stop moving if its upMovement is less than -4.

So it appears to freeze in mid air.

What I have is the following:

    if (upMovement < -4) {

    upMovement = 0;
    ball.center = CGPointMake(ball.center.x, ball.center.y);

    ball.animationImages = [NSArray arrayWithObjects:
                           [UIImage imageNamed:@"fallingball.png"], nil];
    [ball setAnimationRepeatCount:0];
    ball.animationDuration = 1;
    [ball startAnimating];
}

I thought by adding upMovement = 0; and ball.center = CGPointMake(ball.center.x, ball.center.y) it would freeze the ball as soon as the upMovement < -4 ? but instead it, just makes it move really slow.

Any reasons as to why?

Upvotes: 0

Views: 77

Answers (1)

user189804
user189804

Reputation:

If your ball view is animating because of an UIView animation block or similar, then

[ball.layer removeAllAnimations];

should remove that animation and freeze it in place.

If you're animating it in place by repeatedly changing its frame then you would just have to stop doing that.

Upvotes: 1

Related Questions