如何检测 SKSpriteNode 是否在 SKShapeNode 中

How to Detect if a SKSpriteNode is in a SKShapeNode

我在蓝色 space 船上放了一个圆形攻击椭圆,如果有任何 SKSpriteNode 进入 SKShapeNode(攻击椭圆)蓝色 space 船可以开火在 SKSpriteNode 上。问题是我不知道如何进行检测。我尝试过肉体,但是,如果没有碰撞,我就无法接触。

这是一个例子。我想让 purple/blue 攻击圈检测 A,B,C,D,E

这是我认为您需要的代码。 RSSprite 是 red ship sprite 的缩写

blueShip.position = CGPoint(x: 800, y: 400)

attackCircle = SKShapeNode(ellipseOfSize: CGSize(width: 1000, height: 400))
attackCircle.position = CGPoint(x: blueShip.position.x, y: blueShip.position.y)

RSSprite!.position = CGPoint(x: 200, y: 700)
RSSprite!.physicsBody = SKPhysicsBody(rectangleOfSize: RSSprite!.size)

在更新方法中,您可以像这样检查 intersection of 2 nodes

if([nodeA intersectsNode:nodeB]) {
    // you have a collision
}