4

私は現在、フロー スライダー プラグインの 2 番目のバージョンを作成しています。アニメーション オプションの 1 つは、スライダーが最大速度まで一定の加速で加速し、一定の減速で減速する場合です。減速を開始する適切なタイミングを見つけるのに問題があります。

時間が連続していれば問題ないのですが、時間は離散的な間隔で動いているため、動きが加速しているフレームがいくつかあり、(連続時間演算を使用すると) 減速を開始する必要はありませんが、次のすでに遅すぎて減速できません。

たとえば、毎秒 20 のフレーム レートがあるとします。500px 移動する必要があり、開始速度は 0px/フレーム、最大速度は 50px/フレーム、加速は 3px/フレーム、減速は 3px/フレームです。以下に、システムの最初の 13 フレームを示します。

| frame | speed | traveled | to go | deceleration distance |
|-----------------------------------------------------------
|   1   |   3   |   3      |   497 |   3                   |
|   2   |   6   |   9      |   491 |   9                   |
|   3   |   9   |   18     |   482 |   18                  |
|   4   |   12  |   30     |   470 |   30                  |
|   5   |   15  |   45     |   455 |   45                  |
|   6   |   18  |   63     |   437 |   63                  |
|   7   |   21  |   84     |   416 |   84                  |
|   8   |   24  |   108    |   392 |   108                 |
|   9   |   27  |   135    |   365 |   135                 |
|   10  |   30  |   165    |   335 |   165                 |
|   11  |   33  |   198    |   302 |   198                 |
|   12  |   36  |   234    |   266 |   234                 |
|   13  |   39  |   273    |   227 |   273                 |
|-----------------------------------------------------------

ここで、0.6 秒 (12 番目のフレーム) で減速するには時期尚早であることがわかります。これは、234 の減速距離が 266 の移動距離よりも短いためです。しかし、すでに次のフレーム (13 番目) では、減速距離はそこから減速し始めると、時間通りに終わらなくなります

これを解決するための最良の戦略は何でしょうか?

4

1 に答える 1

0

「遅すぎる」フレームで減速速度を調整して、より短い距離に収まるようにすることができます。

于 2012-01-08T00:59:14.050 に答える