【发布时间】:2011-06-10 20:17:10
【问题描述】:
对于完全适合动画组方法的动画效果,如Brad Larson's answer here 所示,我需要动画根据输入进行。特别是触摸和检测到的触摸的位置。处理 touchesMoved: 并为每次触摸设置元素的位置很容易,但它不像核心动画方法那样平滑。
想象一下有凹槽的轨道上的大理石。我想在一个方向或另一个方向上以任何速度将弹珠推到任何位置。动画必须做类似的事情,沿着路径移动视觉元素以响应触摸。 CAKeyframeAnimation 有确切的路径位,但似乎总是希望从帧到帧的过渡基于经过的时间,而不是任何其他因素,并且在一个方向上。
1 月 31 日更新 - 感谢所有到目前为止的回复,但没有一个真正解决问题。我有一个圆形菜单,可以拖动以选择一个选项。所有这些都需要一起移动,我通过使用应用了旋转变换的视图和应用到其子视图的反向旋转变换来解决它,因此图标都以适当的摩天轮方向旋转。不过,当图标沿略呈卵形的路径进行动画处理时,它确实看起来更好……大理石描述是为了弄清楚我想要做什么。也许更好地想象磁铁的方向是排斥所有在凹槽中移动的磁铁 - 移动一个,它的邻居也移动,但不一定沿着被拖动的磁铁随着路径曲线移动的方向。
现在的问题是遵循一个用一个圆圈创建的简单路径,但我真的很想知道如何沿着任意路径为对象设置动画,位置完全由触摸控制,不涉及速度或方向的计算。
【问题讨论】:
-
嗯,这成了一个热门问题。 Pivot 的答案是正确的,并且在我提出问题后编写的代码中效果很好。
标签: iphone core-animation cakeyframeanimation