【发布时间】:2014-08-14 04:01:38
【问题描述】:
我有多个可拖动的 SKSpriteNode(一些矩形)(我按照 Sprite Kit Tutorial: How To Drag and Drop Sprites 上的教程进行操作)。当它们之间发生碰撞时,我将它们分组(通过将一个矩形作为父级,将另一个矩形作为子级)。无论我将组合多少个矩形,我总是设法拥有一个父级和多个属于它的矩形。我这样做是因为我想一起移动属于一个组的立方体,我观察到如果我移动父级,我会移动它的所有子级。为了实现这一点,我正在做的是在 touchBegin 处转换组,并使 touchNode 成为父节点,并使这个新父节点的子组的所有其他节点成为父节点。我相信下面这张图可能会让事情更清楚一点。
我面临的问题是,即使我触摸了水平和垂直矩形之间的空白区域(用红色圆圈显示),我也可以拖动该组。由于图像中显示的所有矩形都具有相同的父级,我猜有一个包含所有矩形的边界框,这就是为什么中间的空白可以触发拖动事件。
有人知道我该如何处理这个问题吗?
是否可以有如下图所示的边界框?
提前致谢。
【问题讨论】:
-
您可以将两个矩形都设为 SKNode 实例的子级,而不是让一个矩形成为父级。这样,您可以确保只有矩形充当任何拖动事件的网关。
标签: ios objective-c ios7 sprite-kit