Ios 查找指定区域中的节点
我想能够做一些类似于SpriteKit的功能。然而,对于我的用例,检查在一个特定的CGPoint上是否有SKNodes实在是太具体了 我想要的是一个区域(我可以指定),类似于Ios 查找指定区域中的节点,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,我想能够做一些类似于SpriteKit的功能。然而,对于我的用例,检查在一个特定的CGPoint上是否有SKNodes实在是太具体了 我想要的是一个区域(我可以指定),类似于节点(at:)函数,在这里我得到与特定区域相交的节点数组 有没有什么功能可以帮我做到这一点?此外,我更愿意而不是将任何SpriteKit物理引入其中 你要找的是 func intersects(_ node: SKNode) -> Bool 返回一个布尔值,该值指示此节点是否与指定节点相交。如果两个节点的框架相交,则
节点(at:)
函数,在这里我得到与特定区域相交的节点数组
有没有什么功能可以帮我做到这一点?此外,我更愿意而不是将任何SpriteKit物理引入其中 你要找的是
func intersects(_ node: SKNode) -> Bool
返回一个布尔值,该值指示此节点是否与指定节点相交。如果两个节点的框架相交,则认为它们相交。这两个节点的子节点在此测试中被忽略
例如
//sprite created in Scene editor
if let locationBox = self.childNode(withName: "locationBox") as? SKSpriteNode {
self.locationBox = locationBox
}
或
检查交叉点
for child in children {
if locationBox.intersects(child) {
print("child.name \(child.name)")
}
}
找到答案的方法不是看文档吗?是什么让你认为我没有事先检查文档?我一直在使用不同的苹果框架(当然是它们相应的文档),但我注意到某些功能肯定存在局限性。这就是为什么我在这里问,希望有人知道一种解决方法或自定义方法可以帮助我。我非常感谢你的回答,但遗憾的是,这并不是我真正想要的,因为我没有任何SKNode,因为我可以用来放入
相交(node:SKNode)
函数(这对我来说是可行的)。但是,我确实找到了解决问题的方法,我会在以后回复自己(以防有人对这个方法感兴趣。)
for child in children {
if locationBox.intersects(child) {
print("child.name \(child.name)")
}
}