SpriteKit 中的 isDynamic 和 contactDelegate 以及 Swift

isDynamic and contactDelegate in SpriteKit and Swift

在我的程序中,我需要检查两个非动态节点是否在更新时相互联系或相互包含以删除一个。我知道当两个节点都不是动态时,您无法测试接触。这些局部变量节点是在一个方法中创建的,因此我必须使用节点的 .name 属性 来相互检查它们。有没有办法在更新时测试接触或它们是否包含彼此?

是的。

每个节点都有一个框架CGRect。有多种方法可以在 CGRect 上调用,例如 intersectscontains,它们会告诉您两个 CGRect 是否重叠或一个是否包含另一个:

https://developer.apple.com/documentation/coregraphics/cgrect/1454747-intersects

https://developer.apple.com/documentation/coregraphics/cgrect/1454186-contains