gpt4 book ai didi

iphone - CAShapeLayer 路径在动画后消失 - 需要它留在同一个地方

转载 作者:行者123 更新时间:2023-12-03 19:12:56 27 4
gpt4 key购买 nike

感谢 StackOverflow 上的一些帮助,我目前正在 CAShapeLayer 中对路径进行动画处理,以制作一个从移动 Sprite 指向屏幕上另一个移动点的三角形。

动画完成后,三角形就会从屏幕上消失。我使用的持续时间非常短,因为每个 Sprite 每 0.1 秒就会触发此代码。结果是红色三角形正确跟踪,但它快速闪烁或完全不存在。当我延长持续时间时,我可以看到三角形停留的时间更长。

我该怎么做才能让三角形以其当前路径(tovalue)保留在屏幕上,直到再次调用该方法以从该点到下一个点进行动画处理?我尝试设置removeOnCompletion和removeAllAnimations,但无济于事。

代码如下:

-(void)animateConnector{

//this is the code that moves the connector from it's current point to the next point
//using animation vs. position or redrawing it

//set the newTrianglePath
newTrianglePath = CGPathCreateMutable();
CGPathMoveToPoint(newTrianglePath, nil, pointGrid.x, pointGrid.y);//start at bottom point on grid
CGPathAddLineToPoint(newTrianglePath, nil, pointBlob.x, (pointBlob.y - 10.0));//define left vertice
CGPathAddLineToPoint(newTrianglePath, nil, pointBlob.x, (pointBlob.y + 10.0));//define the right vertice
CGPathAddLineToPoint(newTrianglePath, nil, pointGrid.x, pointGrid.y);//close the path
CGPathCloseSubpath(newTrianglePath);
//NSLog(@"PointBlob.y = %f", pointBlob.y);

CABasicAnimation *connectorAnimation = [CABasicAnimation animationWithKeyPath:@"path"];`enter code here`
connectorAnimation.duration = .007; //duration need to be less than the time it takes to fire handle timer again
connectorAnimation.removedOnCompletion = NO; //trying to keep the the triangle from disappearing after the animation
connectorAnimation.fromValue = (id)trianglePath;
connectorAnimation.toValue = (id)newTrianglePath;
[shapeLayer addAnimation:connectorAnimation forKey:@"animatePath"];


//now make the newTrianglePath the old one, so the next animation starts with the new position 2.9-KC
self.trianglePath = self.newTrianglePath;

}

最佳答案

问题出在动画的 fillMode 上。 fillMode 的默认值为“kCAFillModeRemoved”,它将在完成后删除动画。

这样做:

connectorAnimation.fillMode = kCAFillModeForwards;

这应该可以。

关于iphone - CAShapeLayer 路径在动画后消失 - 需要它留在同一个地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2233601/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com