我正在测试一个非常基础的项目,我似乎无法使intersectsNode
函数正常工作。在我的GameScene.swift文件中,我创建了一个名为SKShapeNode
的名为world的文件,其中包含另一个名为SKShapeNode
的{{1}}和一个名为player
的{{1}} <。} / p>
在我的GameViewController.swift文件中,我设置了一个SKShapeNode
函数,用于查找触摸位置spinningGreenSquare
,并将touchesMoved
移动到该位置。现在,正如您将在下面的图像中看到的那样,然后测试2是否相交,并且如果返回值为真,则执行一些操作。当我运行我的项目时,location
移动得很好,但交叉测试总是变为“假”,即使它们明显地在设备上相交。下面是我的项目代码。我的陈述是不正确的,还是我没有正确使用交叉点?
player
}
答案 0 :(得分:3)
使用此代码尝试使用update:
函数代替touchesMoved:
:
override func update(currentTime: CFTimeInterval) {
if scene!.player.intersectsNode(scene!.spinningGreenSquare) {
goto("Another View")
}
}
您应该尝试的另一件事是确保Player和SpinningGreenSquare都是SKSpriteNode
类型。
希望这会有所帮助:)