仅触摸Swift3中{SKHriteNode的非透明像素}

时间:2017-03-11 11:14:59

标签: ios swift swift3 sprite-kit

我在所有屏幕上都有精灵节点,但图像只在某处,而不是在所有屏幕上。如何仅在非透明图像上设置触摸或如何删除透明像素或其他东西......也许使用physicsBody?谢谢你的帮助!

        node = SKSpriteNode()
        node.texture = SKTexture(imageNamed: "yes.png")
        node.name = "yes"
        node.size = self.frame.size
        node.position = CGPoint(x: 0, y: node.size.height)
        node.zPosition = 3

        self.addChild(node)

1 个答案:

答案 0 :(得分:1)

如果没有看到你的照片,除了我认为你的问题看起来很难给你一个明确的答案。

您可以使用SKPhysicsBody解决您的问题。

let texture =  SKTexture(imageNamed: "yes.png")
let node = SKSpriteNode(texture: texture)

node.name = "yes"
node.size = self.frame.size
node.position = CGPoint(x: 0, y: node.size.height)
node.zPosition = 3
node.physicsBody = SKPhysicsBody(texture: texture, size: texture.size())
self.addChild(node)

您还需要配置物理主体以获得正确的碰撞行为。