1

画面をタッチすると上昇する落下物のアニメーションを作ろうとしています。このオブジェクトに線形速度を使用したい場合、それは問題ではありませんが、地面に向かって加速し、ユーザーが画面に触れると反対方向に加速し始めるとよいでしょう。したがって、地面に向かって 10px/s の速度で移動するオブジェクトがあり、ユーザーが画面に触れたときに = -5px/s^2 にしたいとします。これは、画面に触れた後でも、オブジェクトがさらに 2 秒間下降することを意味します。 . これを「良い方法」で行う方法はありますか (現在、新しい CGRect で毎回 UIImageViews.frame を書き換えていますが、それは本当に良い方法ではないと思います)。ありがとう

4

2 に答える 2

2

UIViewアニメーションはいつでも使用できます。

[UIView animateWithDuration:1.0 
                          delay:0.0 options:UIViewAnimationCurveEaseIn animations:^{
                              // put the co-ordinates you want your object to FINISH on in here
                          } 
                     completion:^(BOOL finished){
}];
于 2012-09-18T19:12:27.270 に答える
0

これを「良い方法」で行う方法はありますか(現在、新しいCGRectで毎回UIImageViews.frameを書き直していますが、それを行うにはあまり良い方法ではないと思います)。

CoreAnimationを使用します。始めるのはとても簡単で、始めたらとてもパワフルです。独自のタイミング機能を指定できるので、加速度のように見せることができます。画像ビューを手動で再描画する理由はありません...CoreAnimationは、これをより簡単に、より適切に実行します。

于 2012-09-18T17:29:06.633 に答える