Swift3 检查没有物理实体的SKSprite节点之间的碰撞

Swift3 检查没有物理实体的SKSprite节点之间的碰撞,swift3,collision-detection,skspritenode,Swift3,Collision Detection,Skspritenode,我有两个SkSprite节点 var player = SKSpriteNode() var colorWheel = SKSpriteNode() 我有没有一个简单的方法来检测它们之间的碰撞,而不必给它们物理实体。感谢您的帮助。有一种方法可以使用更新方法完成此操作 override func update(_ currentTime: TimeInterval) { if player.frame.intersects(colorWheel.frame) { //N

我有两个SkSprite节点

var player = SKSpriteNode()
var colorWheel = SKSpriteNode()

我有没有一个简单的方法来检测它们之间的碰撞,而不必给它们物理实体。感谢您的帮助。

有一种方法可以使用更新方法完成此操作

override func update(_ currentTime: TimeInterval) {

    if player.frame.intersects(colorWheel.frame) {
        //Nodes are colliding
    }
}

这只是一个起点,将针对节点碰撞的每个帧触发。你必须写下额外的逻辑来处理一次性碰撞等。

这是否使所有的东西都有一个方形的点击框?我的两个节点都是圆?我可以让它们有一个圆形的点击框吗?这是物理环境提供的便利。您应该使用PhysicsBody来检测冲突,因为它们也会导致更可读的代码。此外,物理实体也可以由任何形状构成。