繁体   English   中英

如何在CABasicAnimation中加速/减慢按钮的旋转速度

[英]How Can I accelerate/Slow down the rotation of a button in CABasicAnimation

我希望我的星球在靠近太阳时加速它的运动,当它离太阳更远时减速......请帮助我! 谢谢

CABasicAnimation* rotationAnimation;

rotationAnimation=[CABasicAnimationanimationWithKeyPath:@"transform.rotation.z"];
rotationAnimation.toValue = [NSNumber numberWithFloat: -M_PI * 2.0 /* full rotation*/ * 1/period ];//multiply more to add speed
rotationAnimation.duration = 15;
rotationAnimation.cumulative = YES;
rotationAnimation.repeatCount =  HUGE_VALF;
[planet.layer addAnimation:rotationAnimation forKey:@"orbit"];

您想使用CAMediaTimingFunction 查看预定义的定时功能 您可以将其中一个分配给rotationAnimation.timingFunction 听起来你想要kCAMediaTimingFunctionEaseInEaseOut 我假设行星的起点远离太阳。 在代码中,它看起来像这样:

迅速:

rotationAnimation.timingFunction = CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)

Objective-C的:

rotationAnimation.timingFunction = [CAMediaTimingFunction functionWithName: kCAMediaTimingFunctionEaseInEaseOut];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM