掩码节点的语法

时间:2015-07-02 22:11:50

标签: objective-c swift autolayout

我正试图在我的场景中的节点周围找到一个直接碰撞联系人框。我希望它的碰撞检测完全围绕节点本身而不是矩形或圆形。

Apple开发人员手册在objective-c

中提供此代码
SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"Spaceship"];
sprite.physicsBody = [SKPhysicsBody bodyWithTexture:sprite.texture size:sprite.texture.size];

我在Swift中试过这个。

invisinode.physicsBody = SKPhysicsBody(edgeChainFromPath: invisinode.size)

但无济于事。什么是正确的语法,以便碰撞盒直接围绕invisinode?

1 个答案:

答案 0 :(得分:1)

这个答案将在Swift中,您的问题被标记为两者,因此我不确定这是否是您正在寻找的。

如果您希望SKSpriteNode与您提供的纹理尺寸相同,那么您可以将物理主体设置为相同的尺寸,以节点为中心:

var skspriteTexture = SKTexture(imageNamed: "Spaceship")

var skspriteNode = SKSpriteNode(texture: skspriteTexture, size: skspriteTexture.size())
skspriteNode.physicsBody = SKPhysicsBody(circleOfRadius: skspriteNode.size.width / 2)