相邻的不规则形状的图像

时间:2016-03-01 14:26:25

标签: swift sprite-kit

是否可以将不规则形状的图像彼此相邻放置,每个单独的图像可以在其自己的边界内点击?

例如,如果我有一张美国地图,我想点击每个州,并为每个州分别设置一个segue:

enter image description here

https://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/Map_of_USA_with_state_names.svg/2000px-Map_of_USA_with_state_names.svg.png

我很欣赏正确方向的任何提示/指示。谢谢!

1 个答案:

答案 0 :(得分:1)

地图是否真的是一堆不规则形状的图像,或者只是一个图像,是无关紧要的。 (后者会更容易。)您可以定义一个单独的UIBezierPath对象来概述每个状态,然后您可以使用UIBezierPath方法containsPoint来确定是否有一些分接点属于各州。

坦率地说,你可能会考虑到你真正需要多少精确度。例如,如果从大陆尺度查看美国地图,您真的不需要非常准确的贝塞尔路径。通常,简单的不规则多边形形状可以接近边界,并且足以进行命中测试。

事实上,你有时会故意使用更大的bezier路径。例如,你可以画出一条环绕所有夏威夷群岛的单一路径,并留有一些余地,这样你就不必在实际的岛屿上点击,而只是靠近某个地方。或者,对于罗德岛州,您可以轻松点击文本"罗德岛"以及州本身。