我的目标是在SKScene
的背景中有一个静态节点。在这个场景中,我根据需要使用SKCameraNode
进行平移。SpriteKit:移动场景中的静态背景SKCameraNode
背景节点必须是静态的,因为它显示了预计不会移动的远处的天空。
问题:
如果我只想补充的背景节点作为孩子的场景,我将不得不移动以同样的方式相机转动的背景下,为了有背景总是完全在相机的视口内可见。我不想这样做,因为背景节点会应用一些视觉效果和滤镜,因此移动它会导致性能下降。
我想要的是将背景作为静态节点或视图放置在背景中,为了“跟随”相机,不需要移动该背景或视图。
有什么我试过:
我知道,一个节点可以以确保其符合相机被添加为孩子SKCameraNode
。但正如苹果所言,这对HUD元素比如乐谱标签等是非常有用的,而这些元素通常都是高于一切的。如果你想添加背景,这当然是不适用的,因为我希望它在背景中,在作为子节点直接添加到场景中的节点后面。尽管如此,我试图将相关节点作为子节点添加到相机节点,并使用z位置和类似的东西进行播放,但没有任何帮助,如预期的那样。
我也尝试将背景作为子视图添加到根SKView
,但由于某种原因,我无法将其渲染到场景后面。
在此先感谢。
你是什么意思?将cameraNode连接到场景而不是单独的“平移节点”? – damirstuhec
没关系,这是一个死胡同,但上述应该工作得很好。 –
您的解决方案有效。我尝试过同样的事情,但我的问题是我没有将我的'cameraNode'作为孩子添加到场景中。我确信我不必明确地这样做,因为系统已经提供了一个'camera'属性,等待被初始化并且如果需要就准备好了。奇怪的是,即使我没有把它作为一个孩子添加到场景中,平移和其他所有关于相机的工作都如预期的那样工作。现在它可以工作。谢谢! – damirstuhec