为什么这个图像继续向下移动(objective-c)?

时间:2014-03-24 04:41:20

标签: ios objective-c uikit

我正在使用 UIKit 创建一个简单的游戏。在我的游戏中,如果它的upMovement小于-4,我希望球完全停止移动。

所以它似乎在半空中冻结。

我所拥有的是以下内容:

    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];
}

我想通过添加upMovement = 0;ball.center = CGPointMake(ball.center.x, ball.center.y)它会在upMovement < -4后立即冻结球?但相反,只是让它移动得非常慢。

为什么有任何理由?

1 个答案:

答案 0 :(得分:1)

如果您的球视图因UIView动画块或类似物而动画,则

[ball.layer removeAllAnimations];

应删除该动画并将其冻结到位。

如果您通过反复更改其框架来动画它,那么您只需要停止这样做。