Spritekit和swift 2 - 重叠的精灵

时间:2015-10-06 19:34:11

标签: sprite-kit sprite swift2

我需要使用SpriteKit创建一条道路(一条简单的水平线),所以我有四个障碍可以放在路上的任何位置。这些障碍将成为一个“架子”,我不得不将它们拖到路上。

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

PS:我是spriteKit的初学者。

1 个答案:

答案 0 :(得分:0)

所以你打算按照你的说法制作一些SKSpriteNode(road)并将另一个SKSpriteNode放到那条路上。 (此外,我假设您已经拥有道路的精灵节点和一个障碍物)

定义gameScene的属性:

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 

如您所知,这是一个单一障碍的例子。您的障碍物和道路将被放置在同一个地方,但如果您想要对位置做出一些改动,那么您必须分别描述障碍物的位置。

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

希望它有所帮助。