Emi*_*iOS 1 svg core-animation cakeyframeanimation cgpath ios
我想沿路径设置对象的动画.我得到了它的工作,但运动不是线性的.(它在路径中的小弯道上减速很多.)
以下是主要步骤.
1)使用PockeSVG从SVG文件导入路径
-(CGMutablePathRef)makeMutablePathFromSVG:(NSString *)svgFileName{
PocketSVG *myVectorDrawing0 = [[PocketSVG alloc] initFromSVGFileNamed:svgFileName];
UIBezierPath *myBezierPath0 = myVectorDrawing0.bezier;
return CGPathCreateMutableCopy([myBezierPath0 CGPath]);
}
Run Code Online (Sandbox Code Playgroud)
2)创建CAKeyFrameAnimation
CAKeyframeAnimation *moveAlongPath = [CAKeyframeAnimation animationWithKeyPath:@"position"];
CGMutablePathRef animationPath = CGPathCreateMutableCopy(pathForwardTo5);
[moveAlongPath setPath:animationPath];
[moveAlongPath setDuration:1.0f];
moveAlongPath.timingFunction = [CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionLinear];
moveAlongPath.delegate = self;
[[trackButton layer] addAnimation:moveAlongPath forKey:@"moveButtonAlongPath"];
CFRelease(animationPath);
Run Code Online (Sandbox Code Playgroud)
我尝试使用其他CAMediaTimingFunctions,他们都表现出这种行为.
问题:动画本身有效,但它并不遵循平滑一致的速度.知道为什么吗?
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |