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