gpt4 book ai didi

ios - UIBezierPath 删除问题

转载 作者:行者123 更新时间:2023-12-01 18:59:55 47 4
gpt4 key购买 nike

我正在尝试制作一个球从用户画线反弹的游戏。绘制线的代码包含在下面并且可以正常工作,但是一旦球与它接触或玩家画一条新线,我将如何删除线?

path = [UIBezierPath bezierPath];
// Start Coords of Line
[path moveToPoint:CGPointMake(pos2x, pos2y)];
[path addLineToPoint:CGPointMake(pos1x, pos1y)];
// End Coords of Line
CAShapeLayer *shapeLayer = [CAShapeLayer layer];
shapeLayer.path = [path CGPath];
shapeLayer.strokeColor = [[UIColor whiteColor] CGColor];
shapeLayer.lineWidth = 3.0;
shapeLayer.fillColor = [[UIColor clearColor] CGColor];
[self.view.layer addSublayer:shapeLayer];

提前致谢!

最佳答案

当你这样说时:

[self.view.layer addSublayer:shapeLayer];

...还保留对该形状图层的引用。例如,您可能有一个属性 currentShapeLayer :
self.currentShapeLayer = shapeLayer;

现在您有了引用,您可以轻松地删除图层:
[self.currentShapeLayer removeFromSuperlayer];

对 iOS 进行编程就是要保留对您知道以后需要的东西的引用。如果有更多的路径,意味着更多的形状层,您将需要一种更复杂、更智能的方法来区分您要删除哪个和哪个。

关于ios - UIBezierPath 删除问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23507359/

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