触摸粒子图层

时间:2015-11-09 07:33:34

标签: swift sprite-kit skemitternode

我有一个非常简单的粒子设置,其中雨粒子层位于我整个SKScene的顶部。现在,我只想触摸该图层下面的按钮和对象。如何通过将此图层保持在最高zPosition上来实现此目的。 (下面的代码)

let rainParticlePath = NSBundle.mainBundle().pathForResource("myRainParticles",
            ofType: "sks")

let rainEmitter = NSKeyedUnarchiver.unarchiveObjectWithFile(rainParticlePath!)
            as! SKEmitterNode

rainEmitter.position = CGPointMake(0,screenSize.height)
rainEmitter.zPosition = 200
rainEmitter.userInteractionEnabled = true

self.addChild(rainEmitter)

1 个答案:

答案 0 :(得分:2)

使用nodesAtPoint:获取您触摸位置的所有SKNode,包括粒子图层下方的节点。

例如:

let nodes = self.nodesAtPoint(touchLocation)
for node in nodes {
    if node.name == "button" {
        // Do something to your 'button'
    }
    else if node.name == "object" {
        // Do something to your 'object'
    }
}