gpt4 book ai didi

swift - 将 SKEmitterNode 设置为背景

转载 作者:行者123 更新时间:2023-11-30 10:53:03 25 4
gpt4 key购买 nike

我正在设置一个具有固定背景(一个简单的矩形)、一个SKEmitterNode和一个backgroundLayer(一个包含许多SKShapeNode的SKNode)的场景:这是我的场景的层次结构。但是,即使我在固定背景之后和背景层之前将发射器节点添加为场景的子节点,发射的粒子也会位于前景,这不是我所期望的。事实上,我希望它们在固定背景和背景层之间渲染,但这没有发生。

我在 ios 10 上运行这个应用程序。我尝试以不同的顺序添加子节点,或者更改目标节点,但它没有改变任何内容...

以下所有代码均来自于继承自 SKScene 的场景类的“init(size: CGSize) {}”。这就是所有场景设置过程(添加子级时)。

anchorPoint = CGPoint(x: 0, y: 0)
background.position = CGPoint(x: sceneSize.width / 2, y: sceneSize.height / 2)
background.fillColor = UIColor(white: 0.5, alpha: 1)
background.strokeColor = UIColor.lightGray
addChild(background)

setUpParticleEmitter() // it sets up the particle emitter which is an attribute of the class
addChild(backgroundEmitter) // This is the name of the emitter
backgroundEmitter.targetNode = scene

backgroundLayer.position = CGPoint(x: 0, y: 0)
addChild(backgroundLayer)

gameLayer.position = CGPoint(x: -1 * sceneSize.width, y: 0) // another layer for futur nodes
addChild(gameLayer)

我希望粒子在“background”和“backgroundLayer”之间渲染,但它们在前景渲染(=在backgroundLayer的子级之上),是否可以更改?

最佳答案

您可以通过将节点设置为zPosition来选择哪些节点在前面,哪些在后面。 .

first_node.zPosition  = 1
second_node.zPosition = 2 // displayed over first node

关于swift - 将 SKEmitterNode 设置为背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54259013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com