0

我有两条不同长度的线

线路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 px 需要 1 毫秒,那么第 1 行将需要 100 毫秒

为使第 2 行需要 100 毫秒,它需要绘制 (350/100 = 3.5 px/ms)

因此,假设对于长度为“l1”的线,短线需要时间“t”

那么对于长度为“l2”的线,更大的线应该花费时间“l2/t”,以便它们同时停止绘制。

于 2013-01-11T09:59:44.520 回答