Objective c 核心动画-如何计算持续时间,以便以相同的速率绘制两条不同长度的线

Objective c 核心动画-如何计算持续时间,以便以相同的速率绘制两条不同长度的线,objective-c,core-animation,Objective C,Core Animation,我有两条不同长度的线 第1行------ 第2行------------- 如何计算每条线的动画持续时间,以便以相同的速度绘制它们 目前,我有一个持续时间的设定值 line1.duration = 1; line2.duration = 1; 由于长度不同,line1的动画比line2慢 如何以固定速度计算动画持续时间 编辑 忘记提到line1不知道line2的长度,因为这些线是在循环中绘制的。我想要的是恒定速度计算/每秒像素数试试这个: line2.duration = lengthOfL

我有两条不同长度的线

第1行------

第2行-------------

如何计算每条线的动画持续时间,以便以相同的速度绘制它们

目前,我有一个持续时间的设定值

line1.duration = 1;

line2.duration = 1;
由于长度不同,line1的动画比line2慢

如何以固定速度计算动画持续时间

编辑

忘记提到line1不知道line2的长度,因为这些线是在循环中绘制的。我想要的是恒定速度计算/每秒像素数

试试这个:

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

(替换适当的值。)

我假设:以相同的速率绘制-您的意思是两者应同时结束绘制

假设第1行:长度为100像素

假设第2行:长度为350 px

然后假设1px需要1ms,那么第1行需要100ms

对于2号线,需要绘制100 ms(350/100=3.5 px/ms)

所以假设短线对于长度为“l1”的线需要时间“t”

然后,对于长度为“l2”的行,较大的行应花费时间“l2/t”
让他们两人同时停止绘图。

“你的意思是他们两人应该同时结束绘图。”-不,这是当前发生的情况。速度!=速度。如果以相同的方式绘制,则可以假定速度=速度direction@H2CO3绝对不是。我只是指速度和速度+1到您的解决方案:)结束,我已更新了问题。Line1不知道这条线的长度line2@totalitarian“在循环中绘制直线”-然后将上一行/下一行的长度存储在临时变量中。请自己动手。对不起,我真的需要储存什么吗?以相同速度行驶的两辆车不需要知道另一辆车必须行驶的距离。