ios - SpriteKit : detect overlap of rotated nodes?

标签 ios objective-c iphone swift sprite-kit

假设nodeA是nodeB的子节点。更改节点 B 的 zRotation 值会有效地旋转节点 A,但节点 A 的位置(因为它相对于节​​点 B)保持不变。

现在假设节点 A 已从节点 B 中移除,但其位置在屏幕中保持固定。将nodeC添加到nodeB并进行旋转。

如何检测节点 C 和节点 A 之间的重叠? SKNode 中的 containsPointas described here ,不起作用,因为 nodeC 和 nodeA 位置永远不会因旋转而改变。

最佳答案

您可以使用 - (BOOL)intersectsNode:(SKNode *)node 测试节点交集。但在这种情况下,节点需要位于同一节点树中。也许您不应该在测试之前从nodeB 中删除nodeA?

关于ios - SpriteKit : detect overlap of rotated nodes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29929386/

相关文章:

ios - SKStoreReviewController 未出现在 Debug模式下

ios - 我是否应该通过编程将计算量大的任务放在 IOS 上的单独线程上以利用多核?

ios - 如何在 iOS 中隐藏带动画的标签栏?

ios - 如何将两个参数传给下一个ViewController?

ios - NSURLConnection 完成错误 - 1001

objective-c - 类似 Canvas 的元素

ios - 从核心数据数组对象创建新数组?

iphone - 有针对不同屏幕尺寸的单独 Storyboard吗?

iphone - 仅当强度达到一定分贝时才从语音输入中识别短语 [iOS]

iphone - 实例变量访问(通过 self)导致空指针取消引用