我有一个非常简单的粒子设置,其中雨粒子层位于我整个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)
答案 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'
}
}