[英]Particle emitter not showing over image (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确定渲染事物的顺序,渲染后的数字越大(因此将其置于顶部)。
您的发射器节点和背景也可能是相同的颜色,因此它看起来好像不在那里。
所以我尝试改变发射器的zPosition并没有改变任何东西。 但当我将背景的zPosition更改为-1时,发射器显示。 我希望我知道为什么这个有效。哈哈。 但感谢您的建议:)
我有同样的事情发生,但是当你说当你注释掉背景时它没有发生时,我记得GameViewController中有一个命令,你必须设置false。 skView.ignoresSiblingOrder = false
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.