我需要使用SpriteKit创建一条道路(一条简单的水平线),所以我有四个障碍可以放在路上的任何位置。这些障碍将成为一个“架子”,我不得不将它们拖到路上。
我如何使用SpriteKit和新的Swift2做到这一点?
PS:我是spriteKit的初学者。
答案 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
如您所知,这是一个单一障碍的例子。您的障碍物和道路将被放置在同一个地方,但如果您想要对位置做出一些改动,那么您必须分别描述障碍物的位置。
您也可以将道路和障碍物分别放置在不同的层或场景本身中,这样它们的位置就会相互独立。所以换句话说,这取决于你最终想要看到什么。
希望它有所帮助。