SpriteKit-如何检查SKNodes之间的交叉点?

时间:2015-08-21 20:01:23

标签: swift sprite-kit

我正在测试一个非常基础的项目,我似乎无法使intersectsNode函数正常工作。在我的GameScene.swift文件中,我创建了一个名为SKShapeNode的名为world的文件,其中包含另一个名为SKShapeNode的{​​{1}}和一个名为player的{​​{1}} <。} / p>

在我的GameViewController.swift文件中,我设置了一个SKShapeNode函数,用于查找触摸位置spinningGreenSquare,并将touchesMoved移动到该位置。现在,正如您将在下面的图像中看到的那样,然后测试2是否相交,并且如果返回值为真,则执行一些操作。当我运行我的项目时,location移动得很好,但交叉测试总是变为“假”,即使它们明显地在设备上相交。下面是我的项目代码。我的陈述是不正确的,还是我没有正确使用交叉点?

player

}

****Link For My Code****

1 个答案:

答案 0 :(得分:3)

使用此代码尝试使用update:函数代替touchesMoved:

override func update(currentTime: CFTimeInterval) {
    if scene!.player.intersectsNode(scene!.spinningGreenSquare) {

        goto("Another View")
    }

}

您应该尝试的另一件事是确保Player和SpinningGreenSquare都是SKSpriteNode类型。

希望这会有所帮助:)