Как получить бесконечную прокрутку под углом со Swift и Spritekit?

Я пытаюсь реализовать бесконечную прокрутку с помощью Swift и Spritekit. Мне удалось заставить работать прокручивающуюся землю, если она плоская. Но я хочу, чтобы земля была в упадке, как будто она спускается с холма. Как я могу это сделать? Вот код, который у меня сейчас есть:

func createGround() {
    for i in 0...2 {
        let grounds = SKSpriteNode(color: UIColor.white, size: CGSize(width: 600, height: 200))
        grounds.name = "Ground"
        grounds.anchorPoint = CGPoint(x: 0.5,y: 0.5)
        grounds.position = CGPoint(x: CGFloat(i) * grounds.size.width, y: -300)

        self.addChild(grounds)
    }
}

func moveGround() {
    self.enumerateChildNodes(withName: "Ground", using: ({
        (node, error) in

        node.position.x -= 6
        node.position.y += 1

        if node.position.x < -((self.scene?.size.width)!) {
            node.position.x += (self.scene?.size.width)! * 3
            node.position.y =
                -400
        }
    }))
}

Это создает землю и прокручивает их через экран под углом, но наземные узлы не совпадают друг с другом. Я полагаю, мне понадобится тригонометрическая функция, чтобы они выстроились в линию? Вот как это выглядит сейчас:

Белые прямоугольники - мои наземные узлы. Серый цвет - это только наземный узел заполнителя, который не движется, и я планирую удалить, как только у меня получится прокрутить землю.

0 ответов

Другие вопросы по тегам