私は時間の経過とともにワークスペース内の線をアニメーション化するアプリケーションを作成しています。行をアニメーション化する最も簡単な方法は何ですか?
CGContextSetStrokeColor(context, black);
CGContextBeginPath(context);
CGContextMoveToPoint(context, startPoint.x, startPoint.y);
CGContextAddLineToPoint(context, finalPoint.x, finalPoint.y);
CGContextStrokePath(context);
...そしてちょうどfinalPoint
を更新し、setNeedsDisplay
を呼び出すために0.05秒ごとに実行するようにタイマーを設定する:このための私の現在のアプローチは、drawRect
に、このようなコードを使用することです。
私はこのアプローチ(一度に5行の線が動いているとき)がひどくアプリケーションを遅くし、そのような高いリフレッシュ頻度であってもまだぎこちないように見えます。
アニメーション化された行でこの非常に単純な線画を実行するには、より良い方法が必要です。つまり、x1、y1から開始し、一定の長さにわたってx2、y2に伸ばしたいとします。私の選択肢は何ですか?私はこれをより速く実行させる必要があり、このclunkyタイマーを取り除くのが大好きです。
ありがとうございます!