如何控制动画速度?

Posted

技术标签:

【中文标题】如何控制动画速度?【英文标题】:How to control animation speed? 【发布时间】:2011-09-02 16:06:50 【问题描述】:

我正在移动图像,然后扩展图像。问题是我的形象正在快速发展。有没有办法让 2 个动画运行并控制速度?这是代码:

- (IBAction)pushmove 
    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration:2.5];
    square.transform = CGAffineTransformMakeTranslation(-200,-300);
    [UIView setAnimationDuration:1.5];
    square.transform = CGAffineTransformMakeScale(8,8);
    [UIView commitAnimations];

【问题讨论】:

【参考方案1】:

是的!

这是可能的,而且相当简单。关键是CAAnimation实现了CAMediaTiming协议。所以无论是在CAAnimationCAAnimationGroup你都可以设置如下速度:

myAnimationGroup.speed = 2;

因此,如果持续时间为4,您的组将在2seconds 内执行。

Apple 的一些视频对这个主题非常有帮助。 WWDC 2010 Session 424 涵盖CAMediaTiming及其用途。在视频 46:30 秒处结帐。

这是链接: WWDC 2010 Sessions

【讨论】:

以上是关于如何控制动画速度?的主要内容,如果未能解决你的问题,请参考以下文章

如何控制模型/动画师 Unity 3D 的速度

动画控制器中的混合树如何在动画之间平滑切换?

如何在不重复Unity动画的情况下通过Animator提高动画播放速度

控制 uitableview insertRowsAtIndexPath 动画的速度

Unity重置动画帧位置转换状态时控制播放速度

Unity重置动画帧位置转换状态时控制播放速度