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容易得多。 – 2010-11-23 17:18:29