在iPhone中使用CALayer和CGPath的动画期间如何获取位置
||
hI,
I am workng on animation using CALayer and CAPath.
Here I am animating an Image from top to bottom of screen.I gave starting and ending position for
the animation.Now, I want to get position during the animation.
Sample Code:
- (void)onTimer
{
CGImageRef imageRef = [[UIImage imageNamed:@\"apple.png\"] CGImage];
int startX = round(random() % 460);
double speed = 1 / round(random() %100) + 1.0;
layer = [CALayer layer];
layer.name = @\"layer\";
layer.contents = (id)imageRef; // cached image
layer.frame = CGRectMake(startX, self.view.frame.size.height+10, CGImageGetWidth(imageRef), CGImageGetHeight(imageRef));
[mView.layer addSublayer:layer];
path = CGPathCreateMutable();
CGPathMoveToPoint(path, NULL, startX, -100);
CGPathAddLineToPoint(path, NULL, startX, self.view.frame.size.height+10);
CAKeyframeAnimation *animation= [CAKeyframeAnimation animationWithKeyPath:@\"position\"];
animation.delegate=self;
animation.duration= 10*speed;
animation.autoreverses=NO;
animation.path=path;
animation.repeatCount = 0;
animation.removedOnCompletion=YES;
animation.calculationMode = kCAAnimationLinear;
[layer addAnimation:animation forKey:@\"position\"];
CGPoint point= CGPathGetCurrentPoint(path);
}
In this I used \"CGPathGetCurrentPoint\" method but it did not work. Also used
presentationLayer method of CALayer but uit also did not work in this case.
Can anyone suggest the code to get the position during animation
thanks in advance
没有找到相关结果
已邀请:
2 个回复
痴浪墨
玖料萄
是访问
实例的控制点而不是Core Animation关键帧动画路径的函数。