2009-08-18 27 views
0

今は、設定された速度でオブジェクトを特定の方向に移動する方法を知っていますが、アニメーションを使わずに設定されたパスに沿ってあるCGPointから別のCGPointに画像ビューを移動する方法インタラクティブである。また、A地点からB地点への移動中に斜面を適用する方法もありますので、移動するにつれてカーブするように見えます。私が達成しようとしているのは、地面に向かって鳥が泳ぐ効果があり、空中に浮かび上がることです。画像ビューを移動するパスを移動する

答えて

0

NSTimerを使用すると、毎回鳥(アニメーションイメージ)を徐々に少しずつ動かす方法を定期的に呼び出すことでこれを実現できます。

放物線円弧に沿ってオブジェクトを移動するためのいくつかのサンプルコード:アニメーションの多くをしたい場合は

// Assumptions: We have the variable 
// UIView* bird <-- to be moved 
// parabolically along the path y = x^2, 
// up to translation (that is, slid over so the bottom 
// point is not (0,0), but something in the view). 
// Suppose bird starts out at (-3, 9) here. 

- (void) oneBirdStep { 
    static const flost ddy = 2; 
    static float dy = -5; // Start out at 2*x0 + 1. 
    CGFloat birdY = bird.frame.origin.y + dy; 
    dy += ddy; 
    bird.frame = CGRectMake(bird.frame.origin.x + 1, birdY, 
          bird.frame.size.width, bird.frame.size.height); 
} 

が、あなたはまた、OpenGLを使用して、またはdrawRect:メソッドをオーバーライドするカスタムUIViewサブクラスを書いて検討するかもしれません、これは(上記のコードよりも)少し効率的かもしれません。

関連する問題