0

長さの異なる 2 つの線があります

ライン1 - - -

2行目 - - - - - - -

両方が同じ速度で描画されるように、各行のアニメーション時間を計算するにはどうすればよいですか?

現時点では、持続時間の設定値があります

line1.duration = 1;

line2.duration = 1;

長さが異なるため、line1 のアニメーションは line2 よりも遅くなります。

固定速度でアニメーションの長さを計算するにはどうすればよいですか?

編集

線がループで描かれているため、line1 は line2 の長さを知らないことに言及するのを忘れていました。私が求めているのは、一定速度の計算/秒あたりのピクセル数です

4

2 に答える 2

2

これを試して:

line2.duration = lengthOfLine2 / lengthOfLine1 * line1.duration;

(適切な値に置き換えてください。)

于 2013-01-11T09:59:33.827 に答える
0

私は仮定しています:同じ速度で描画 - 両方が同時に描画を終了する必要があることを意味します。

行 1 を想定: 長さ - 100 ピクセル

行 2 を想定: 長さ - 350 ピクセル

次に、1 ピクセルに 1 ミリ秒かかると仮定すると、ライン 1 には 100 ミリ秒かかります

ライン 2 が 100 ミリ秒かかるには、描画する必要があります (350/100 = 3.5 px/ms)

したがって、短い線は長さ「l1」の線に「t」の時間がかかるとします

次に、長さ「l2」の線の両方が同時に描画を停止するには、より大きな線が「l2/t」の時間かかります。

于 2013-01-11T09:59:44.520 に答える