Xcode GameScene.sks 将精灵放在前面

Xcode GameScene.sks bringing sprites to front

我觉得这个问题很容易解决,但我想不出办法解决。

我有 4 个大小相同的精灵,它们都在我的 GameScene.sks 中的相同坐标,0,0。我知道我可以 select 使用左侧和顶部的菜单来设置它们,但我确实需要让某些精灵遮挡其他精灵,并让其他精灵被它们前面的精灵遮挡。右键单击场景中当前可见的 sprite 以及屏幕顶部的 "Editor" 选项卡时,有 "Bring to front" 和 "Push to back" 的选项。但是每当尝试使用这些时,似乎什么都没有发生。它们没有变灰,我只是点击它们,就好像它们应该正常工作一样,我所有的精灵都保持相同的顺序。

如果有人知道我做错了什么,我将不胜感激。提前致谢。

我不确定我是否完全理解你的问题。

你是说你想设置哪个精灵出现在上面、下面、下面和底部?

如果是这样,那很容易通过改变精灵的 zPosition

let sprite1 = SKSpriteNode()
let sprite2 = SKSpriteNode()
let sprite3 = SKSpriteNode()
let sprite4 = SKSpriteNode()

sprite1.position = CGPoint(x: 0, y: 0)
sprite2.position = CGPoint(x: 0, y: 0)
sprite3.position = CGPoint(x: 0, y: 0)
sprite4.position = CGPoint(x: 0, y: 0)

//Bottom
sprite1.zPosition = 1
sprite2.zPosition = 2
sprite3.zPosition = 3
sprite4.zPosition = 4
//Top

self.addChild(sprite1)
self.addChild(sprite2)
self.addChild(sprite3)
self.addChild(sprite4)

如果您使用 GameScene 创建节点,也可以在属性检查器中编辑 zPosition。