我有两条不同长度的线
线路1 -----
线2 -------------
如何计算每条线的动画持续时间,以便它们都以相同的速度绘制。
目前,我有一个持续时间的设定值
line1.duration = 1;
line2.duration = 1;
由于长度不同,line1 的动画比 line2 慢。
如何以固定速度计算动画持续时间?
编辑
忘了提到 line1 不知道 line2 的长度,因为线条是在循环中绘制的。我追求的是恒定速度计算/每秒像素数
我有两条不同长度的线
线路1 -----
线2 -------------
如何计算每条线的动画持续时间,以便它们都以相同的速度绘制。
目前,我有一个持续时间的设定值
line1.duration = 1;
line2.duration = 1;
由于长度不同,line1 的动画比 line2 慢。
如何以固定速度计算动画持续时间?
编辑
忘了提到 line1 不知道 line2 的长度,因为线条是在循环中绘制的。我追求的是恒定速度计算/每秒像素数
试试这个:
line2.duration = lengthOfLine2 / lengthOfLine1 * line1.duration;
(替换适当的值。)
我假设:以相同的速度绘图 - 你的意思是他们两个应该同时结束绘图。
假设第 1 行:长度 - 100 像素
假设第 2 行:长度 - 350 像素
然后假设 1 px 需要 1 毫秒,那么第 1 行将需要 100 毫秒
为使第 2 行需要 100 毫秒,它需要绘制 (350/100 = 3.5 px/ms)
因此,假设对于长度为“l1”的线,短线需要时间“t”
那么对于长度为“l2”的线,更大的线应该花费时间“l2/t”,以便它们同时停止绘制。