0
게임을 쓰려고하는데이 애니메이션이 조금 붙어 있습니다. 내 화면에서 수평으로 움직이는 공이 있습니다. 다음은 코드입니다.CABasicAnimation으로 공을 수평으로 이동하고 정확한 위치에서 볼을 멈추는 방법
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];
먼저 horizontalBallAnimation의 "ToValue"에 애니메이션을 적용합니다. 그런 다음 gameObject에 설정된 올바른 값으로 이동합니다. 누군가 이걸로 나를 도울 수 있니?
cocos2d를 사용 하시겠습니까? CA보다 톤이 더 쉽습니다. –
나는 cocos2D를 좋아하지만 좋은 방법으로 CALayers로 그것을 개발할 수 있다고 생각한다. 정말 빨라요. 그 뒤에는 OpenGL 드로잉이 있습니다. – beit