粒子发射器没有显示在图像上(swift spritekit)

这是一个非常基本的问题(我是
swift和spritekit的新手).

所以无论如何我将粒子发射器添加到spritenode(称之为球)并将球添加到我的场景中.这个球位于另一个代表背景的spritenode之上.当我运行应用程序时,球看起来很好,但粒子发射器没有显示.我删除背景时发射器显示正常,但是当我添加背景时则没有.我将发布一个代码示例…

//Background
let background = SKSpriteNode(imageNamed:"Background")
background.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
background.zPosition = 0
self.addChild(background)

//Ball
let ball = SKSpriteNode(imageNamed: "ball")
ball.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
ball.zPosition = 1
ball.physicsBody = SKPhysicsBody(rectangleOfSize: ball.frame.size)
ball.physicsBody?.usesPreciseCollisionDetection = true 


//Emitter
let emitter = SKEmitterNode(fileNamed: "emitter")
emitter.targetNode = self

ball.addChild(emitter)

self.addChild(ball)

就像我说的,这似乎是一个非常基本的问题.我只是不知道我做错了什么.重申一下,当我运行它时,发射器不显示.但如果我拿走背景,发射器会显示出来.

谢谢您的帮助 :)

最佳答案 简单的答案 – 您只需将发射器的zPosition设置为高于背景(但小于球). zPosition确定渲染事物的顺序,渲染后的数字越大(因此将其置于顶部).

您的发射器节点和背景也可能是相同的颜色,因此它看起来好像不在那里.

点赞