CABasicAnimation 哪个循环,但每次都转到不同的值?
CABasicAnimation which loops, but goes to different values each time?
假设你有一个
anime.repeatCount = Float.greatestFiniteMagnitude
它在值之间来回动画一些东西..
2 9 2 9 2 9 2 9 2 9 2 9 etc
但你想要的是
2 9 3 7 3 8 1 9 3 8 1 7 etc
因此 - 每次将 .fromValue
和 .toValue
更改为稍微随机的值。
事实上,如果您每次都更改 from 和 to 值...
事实上 你是否必须放下动画并开始一个新的动画??
(因此,您将使用 setCompletionBlock
并执行此操作。)
或者,你能不能把它设置成永远循环,但是,每次都改变目标??有办法吗?
动画对象在添加到层后会被复制,因此之后对其进行的任何修改都不会传播到渲染树。见 documentation for add(_:forKey:)
.
换句话说,一旦动画被添加到图层中,您就无法再对其进行修改。相反,你会删除它并添加一个新的动画。
有一些 "tricks" 可以使它看起来像一系列随机值 — 例如关键帧动画或具有不同持续时间的多个附加动画 — 但其中 none 实现了实际的动画无限随机值。
要做到这一点,您最好在前一个动画无限期地结束后添加一个新动画。
假设你有一个
anime.repeatCount = Float.greatestFiniteMagnitude
它在值之间来回动画一些东西..
2 9 2 9 2 9 2 9 2 9 2 9 etc
但你想要的是
2 9 3 7 3 8 1 9 3 8 1 7 etc
因此 - 每次将 .fromValue
和 .toValue
更改为稍微随机的值。
事实上,如果您每次都更改 from 和 to 值...
事实上 你是否必须放下动画并开始一个新的动画??
(因此,您将使用 setCompletionBlock
并执行此操作。)
或者,你能不能把它设置成永远循环,但是,每次都改变目标??有办法吗?
动画对象在添加到层后会被复制,因此之后对其进行的任何修改都不会传播到渲染树。见 documentation for add(_:forKey:)
.
换句话说,一旦动画被添加到图层中,您就无法再对其进行修改。相反,你会删除它并添加一个新的动画。
有一些 "tricks" 可以使它看起来像一系列随机值 — 例如关键帧动画或具有不同持续时间的多个附加动画 — 但其中 none 实现了实际的动画无限随机值。
要做到这一点,您最好在前一个动画无限期地结束后添加一个新动画。