Spritekit 和 swift 2 - 重叠精灵

Spritekit and swift 2 - overlapping sprites

我需要使用 SpriteKit 创建一条道路(一条简单的水平线),所以我有四个障碍物可以放在道路上的任何位置。这些障碍物会在"shelf"中,我必须将它们拖到路上。

我如何使用 SpriteKit 和新的 Swift2 来做到这一点?

PS: 我是 spriteKit 的初学者。

所以你打算像你说的那样制作一些 SKSpriteNode(道路)并将另一个 SKSpriteNode 放到那条道路上。 (进一步我假设你已经有了道路的精灵节点和一个障碍物)

定义游戏场景的属性:

let roadAndObstaclesLayer: SKNode!

然后在 didMoveToView 中,您必须将道路 SKSpriteNode 和障碍物 SKSpriteNode 添加到该层。您必须采用产生障碍物的方法,或者您必须自己确定障碍物的位置。 一般来说,它会像:

roadAndObstaclesLayer = SKNode()
roadAndObstaclesLayer.position = CGPoint(x: CGRectGetMidX(frame), y: CGRectGetHeight(frame) / 4) // position of your layer
roadAndObstaclesLayer.addChild(road)  //child road is added
roadAndObstaclesLayer.zPosition = 0   //zPosition of the layer in the scene
road.zPosition = 0  //zPosition of the child (road) in the layer

roadAndObstaclesLayer.addChild(obstacle) //child obstacle is added
obstacle.zPosition = 1 //zPosition of the child (obstacle) in the layer above child rode

addChild(roadAndObstaclesLayer)  //child of the scene is added 

如您所知,这是道路上的单个障碍物的示例。您的障碍物和道路将放置在同一位置,但如果您想改变位置,则必须分别描述障碍物的位置。

您还可以将道路和障碍物放置在不同的图层或单独放置在场景本身中,这样它们的位置就会相互独立。所以换句话说,这取决于你最后想看到什么。

希望对您有所帮助。