我正在为场景创建一个 SKNode,并在每个单独的 SKNode 上记录触摸事件。我可以根据需要添加任意数量的内容,如果我触摸节点并且只有可见的节点,我才能看到日志消息,并且触摸会按预期工作。现在,如果我将另一个 SKShapeNode 添加到之前的任何一个 SKNode,触摸区域将扩展为更多的矩形,现在即使我触摸到原始 SKNode 之外,我也会看到日志消息。
第一张图片显示了SKNode的原始触摸区域,第二张是为该SKNode添加子SKShapeNode后的新触摸区域。添加的 SKShapeNode 为 20x20,因此它适合 20x100 条。
问题是我现在在触摸其他条时会收到多个触摸事件,因为它们重叠。有什么办法解决这个问题吗?
最佳答案
您似乎为线条的每个角度使用了单独的图形。而是尝试在 0 度的线条上使用相同的图形,然后使用 zRotation倾斜它。我自己没有尝试过,但我认为它会解决您的问题。
或者尝试使用 containsPoint在 touchesBegan 方法中进行触摸识别。您可以检查触摸是否在任何节点内并进行相应处理。
关于ios - 将子 SKNode 添加到现有 SKNode 会更改触摸区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31195474/