私は現在、iOS 開発の最初の不安定な一歩を踏み出しています。自由落下するボールをアニメーション化しようとしています。IBAction に接続されたボタンと、ボールの画像を含む UIImageView があります。
私のアクション内には、NSTimeInterval を使用して時間を計る while ループがあり、かかる時間に基づいて、ボールが「地面」に到達するまでの新しい位置を計算します (はい、これはおそらく最適な方法ではないことを認識しています。しかし、私は構文を理解するのに苦労しています (そして、私の問題はおそらくそこにあります)。最適化は後で行う必要があります)。私が理解できることから、 NSTimeInterval は経過時間を秒単位で返すため、信じられないほど小さなステップで増加しますが、機能するはずです。しかし、脳のおならの深刻なケースがあるかもしれません。
ここまでは順調ですね。しかし、ボタンをタップすると、ボールはアニメーションなしで開始点から終了点までまっすぐに移動します。
-(IBAction)doshit:(id)sender{
int G = 10;
CGPoint center = [myImage center];
NSDate *startTime = [NSDate date];
NSTimeInterval T;
T = fabs([startTime timeIntervalSinceNow]);
while (center.y<480)
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:T];
center.y=center.y+((G*T*T)/2);
[myImage setCenter:center];
T = fabs([startTime timeIntervalSinceNow]);
[UIView commitAnimations];
}
}
私はすべての提案を歓迎します!=)