如何检测SKSpriteNode是否在SKShapeNode中

时间:2015-08-27 18:13:17

标签: ios swift sprite-kit detection

我在蓝色太空飞船上放置一个圆形攻击椭圆形,如果SKSpriteNode进入SKShapeNode(攻击椭圆形),蓝色太空飞船可以在SKSpriteNode上发射。问题是我无法弄清楚如何进行检测。我已经尝试过身体,但是,如果没有碰撞,我就无法接触。

这是一个例子。我想要紫/蓝攻击圈来检测A,B,C,D,E

I want the purple circle to detect A,B,C,D,E

以下是我认为您需要的代码。 RSSprite是红船精灵的缩写

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)

1 个答案:

答案 0 :(得分:2)

在更新方法中,您可以检查intersection of 2 nodes,如下所示:

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