Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 查找指定区域中的节点_Ios_Swift_Sprite Kit - Fatal编程技术网

Ios 查找指定区域中的节点

Ios 查找指定区域中的节点,ios,swift,sprite-kit,Ios,Swift,Sprite Kit,我想能够做一些类似于SpriteKit的功能。然而,对于我的用例,检查在一个特定的CGPoint上是否有SKNodes实在是太具体了 我想要的是一个区域(我可以指定),类似于节点(at:)函数,在这里我得到与特定区域相交的节点数组 有没有什么功能可以帮我做到这一点?此外,我更愿意而不是将任何SpriteKit物理引入其中 你要找的是 func intersects(_ node: SKNode) -> Bool 返回一个布尔值,该值指示此节点是否与指定节点相交。如果两个节点的框架相交,则

我想能够做一些类似于SpriteKit的功能。然而,对于我的用例,检查在一个特定的CGPoint上是否有SKNodes实在是太具体了

我想要的是一个区域(我可以指定),类似于
节点(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)")
    }
}