Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone SpriteKit-逐渐绘制贝塞尔曲线_Iphone_Objective C_Sprite Kit - Fatal编程技术网

Iphone SpriteKit-逐渐绘制贝塞尔曲线

Iphone SpriteKit-逐渐绘制贝塞尔曲线,iphone,objective-c,sprite-kit,Iphone,Objective C,Sprite Kit,我正在做一个iOS教育项目,孩子们在那里画字母。游戏机制非常简单,运行正常。我想做的是通过将经过的部分转换为绿色粗线来显示绘图进度。如图所示: 我有两个解决办法 遮罩隐藏路径,根据用户触摸位置进行变换 在触摸上创建新路径Moved:通过获取原始路径并向用户触摸位置添加一个点,然后剥离其余路径 你会选择什么,或者有更好的解决方案吗 注意:我想把绿色的路径画成虚线路径。只要在用户移动后绘制一条路径,就会产生丑陋的线条 谢谢。我想说,您的选择取决于是否也使用贝塞尔曲线绘制虚线(或绘制虚线的所有部分)

我正在做一个iOS教育项目,孩子们在那里画字母。游戏机制非常简单,运行正常。我想做的是通过将经过的部分转换为绿色粗线来显示绘图进度。如图所示:

我有两个解决办法

  • 遮罩隐藏路径,根据用户触摸位置进行变换
  • 在触摸上创建新路径Moved:通过获取原始路径并向用户触摸位置添加一个点,然后剥离其余路径
  • 你会选择什么,或者有更好的解决方案吗

    注意:我想把绿色的路径画成虚线路径。只要在用户移动后绘制一条路径,就会产生丑陋的线条


    谢谢。

    我想说,您的选择取决于是否也使用贝塞尔曲线绘制虚线(或绘制虚线的所有部分)

    如果虚线是您显示的图像,那么解决方案1(也绘制了粗线)和调整的遮罩可能是最容易做到的


    如果虚线已经绘制为贝塞尔曲线(或通过绘制多条连接的贝塞尔曲线绘制),那么解决方案2对我来说似乎是最好的。棘手的部分是确保您在这种情况下完全按照虚线操作(但我想您已经想到了:-)。

    谢谢您的回复。虚线是从UIBezierPath创建的,因此没有图像。第二个解决方案听起来像是可行的。但我不知道如何操纵路径。甚至有没有一种方法可以循环它的各个部分?我所说的“部分”是指如果你已经用几个部分构建了生产线,那么你应该已经知道这些部分了。您可以在此处查看如何绘制给定贝塞尔曲线的任意部分: