如何将图像分割成多边形

时间:2020-07-16 19:39:01

标签: ios swift sprite-kit

类似于某些在点击时用选定的颜色填充特定区域的着色应用程序,我想将png图像转换为可以点击以执行特定操作的多边形。下面是示例图片。

enter image description here

对于此示例,我想实现将图像分为区域1、2、3和4(不一定按此顺序)的逻辑,以便当用户点击左上角的矩形action1时,右上角的矩形action2,用于椭圆动作,其余的action3都执行。

有人知道如何使用SpriteKit做到这一点吗?

1 个答案:

答案 0 :(得分:1)

您无需将图像分成多个区域。将轻击手势识别器连接到图像视图。

在轻击手势识别器的动作中,获取轻击的坐标并找出其所属的区域。

矩形区域非常容易。您只需要查看坐标是否在矩形的x / y范围内即可。

对于更复杂的形状,可以创建UIBezierPath形状并使用UIBezierPath contains(_:)方法来查看分接点是否落入特定路径。

构造代码的最简单方法是一个结构数组,每个结构都包含一个UIBezierPath和一个闭包(如果在该路径上点击时会调用该闭包)。然后,当水龙头落入这些路径之一时,您可以调用闭包。