让我告诉你一个现在面临的情景,我有一个动画片段,它将沿着bezier曲线移动,一个按钮将开始播放(影片剪辑将沿曲线移动)和bezier点,使用绿色摇滚它具有自动旋转选项,您可以沿路径旋转影片剪辑。
所以我需要知道动画片段在播放结束时会有什么样的旋转,因为当启用自动旋转时,我在开始时的旋转将是0但是在播放的结束时间它会是什么? ?我需要在补间发生之前知道这个值,请帮忙!
答案 0 :(得分:3)
当然,你可以做一些数学计算,但是让补间处理它并简单地跳到最后,读取值并再次回放可能更容易。无需创建持续0.0001秒的单独补间并等待onComplete或类似的东西 - 只需使用原始补间:
var tween:TweenMax = TweenMax.to(...); //your bezier tween
tween.progress(1); //jump to the end
var endRotation:Number = mc.rotation; //read the final rotation
tween.progress(0); //rewind back to the beginning
答案 1 :(得分:1)
有一些数学方法可以计算出来,但是你基本上需要重写整个贝塞尔运动逻辑。
快速而肮脏的方法是首先将你的movieclip alpha设置为0(或者创建一个新的空精灵)并让相同的bezier运动在0.0001秒内运行。在onComplete中检查最终的动画片段旋转并开始实际的补间。我有点hacky但它会起作用:)