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でうまく開発できると思います。それは本当に速く、その背後には、OpenGLESの描画があります。 – beit