我正在使用 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
后立即冻结球?但相反,只是让它移动得非常慢。
为什么有任何理由?
答案 0 :(得分:1)
如果您的球视图因UIView动画块或类似物而动画,则
[ball.layer removeAllAnimations];
应删除该动画并将其冻结到位。
如果您通过反复更改其框架来动画它,那么您只需要停止这样做。