这是一个非常基本的问题(我是 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 决定了事物呈现的顺序,数字越大,呈现的越晚(因此将其置于顶部)。

也有可能你的发射器节点和你的背景颜色相同,所以它看起来好像不存在。

关于swift - 粒子发射器未显示在图像上(swift spritekit),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39552598/

10-09 06:55