Я пытаюсь написать игру, и я немного застрял в этой анимации. У меня есть шар, который анимируется горизонтально на моем экране. Вот код:
CABasicAnimation *horizontalBallAnimation = [CABasicAnimation animationWithKeyPath:@"position"];
[horizontalBallAnimation setFromValue:[NSValue valueWithCGPoint:CGPointMake(50.0, 300.0 )]];
[horizontalBallAnimation setToValue:[NSValue valueWithCGPoint:CGPointMake(220.0, 300.0 )]];
horizontalBallAnimation.delegate = self;
horizontalBallAnimation.repeatCount = 1e100f;
//horizontalBallAnimation.autoreverses = YES;
horizontalBallAnimation.duration = 2.0;
[gameBallLayer addAnimation:horizontalBallAnimation forKey:@"horizontalBallAnimation"];
Это прекрасно работает. Однако моя проблема заключается в том, что, когда я останавливаю анимацию - просто нажав на экран - мяч, прежде чем идти в правильное положение;
[gameLogic ballGameObject].x = [[[gameBallLayer presentationLayer] valueForKeyPath:@"position.x"] doubleValue];
[gameLogic ballGameObject].y = [[[gameBallLayer presentationLayer] valueForKeyPath:@"position.y"] doubleValue];
сначала анимирует "ToValue" горизонтальной анимации. Затем он возвращается к правильному значению, установленному gameObject. Кто-нибудь может помочь мне с этим?