Swift 在后台生成的节点,我可以';不要把他们带到前线
我用的是重复动作。当应用程序第一次加载时,精灵确实会在背景前生成,因此您可以看到它们。但是当你从记分场景重新启动游戏时,节点会在后台生成,我无法让它们出现在前面。有人知道我怎么解决这个问题吗Swift 在后台生成的节点,我可以';不要把他们带到前线,swift,background,sprite-kit,repeater,nodes,Swift,Background,Sprite Kit,Repeater,Nodes,我用的是重复动作。当应用程序第一次加载时,精灵确实会在背景前生成,因此您可以看到它们。但是当你从记分场景重新启动游戏时,节点会在后台生成,我无法让它们出现在前面。有人知道我怎么解决这个问题吗 override init(size: CGSize) { super.init(size: size) //Background for var index = 0; index < 2; ++index { let bg = SKSpriteNod
override init(size: CGSize) {
super.init(size: size)
//Background
for var index = 0; index < 2; ++index {
let bg = SKSpriteNode(imageNamed: "background")
bg.position = CGPoint(x: -100, y: index * Int(bg.size.height))
bg.anchorPoint = CGPointZero
bg.name = "background"
self.addChild(bg)
}
runAction(SKAction.repeatActionForever(SKAction.sequence([SKAction.runBlock(callEnemy), SKAction.waitForDuration(1.0)])))
为了使节点位于背景之上,您需要更改它们的
zPosition
。如果您指定:
bg.zPosition = 0
及
前景现在将位于背景之上。zPosition指定每个节点在z轴上的位置 这可能就是你要找的东西。谢谢你,它这么有效,我在过去的三天里一直在努力让它发挥作用,谢谢,没问题,很高兴它成功了!只要接受我的答案/+1,让其他人知道它是有效的@Vince
bg.zPosition = 0
foreground.zPosition = 1