Цикл не рассчитан по времени и сбрасывается слишком быстро.Зацикленное изображение также обрезается, показывая только его часть, а не полностью зацикленное фоновое изображение, сшитое с предыдущим.
Я попытался поиграться со значениями .position, .size и SKAction., но я просто не могу настроить его там, где он работает должным образом.
func scrollingBackground() {
let BGTexture = SKTexture(imageNamed: "Background")
for i in 0 ... 1 {
let background = SKSpriteNode(texture: BGTexture)
background.zPosition = -30
background.anchorPoint = CGPoint(x: 0, y: 0)
background.size = CGSize(width: (frame.size.width), height: (frame.size.height))
background.position = CGPoint(x: 0, y: -BGTexture.size().height + (BGTexture.size().height + (BGTexture.size().height * CGFloat(i))))
addChild(background)
let scrollUp = SKAction.moveBy(x: 0, y: BGTexture.size().height, duration: 20)
let scrollReset = SKAction.moveBy(x: 0, y: -BGTexture.size().height, duration: 0)
let scrollLoop = SKAction.sequence([scrollUp, scrollReset])
let scrollForever = SKAction.repeatForever(scrollLoop)
background.run(scrollForever)
}
Я надеялся получить бесшовную бесконечную фоновую петлю, которая работает бесконечно, а не этот беспорядочный беспорядок, который у меня сейчас есть.Я мог бы добавить, что мое фоновое изображение изначально не имеет идеального размера для устройств, но я хочу убедиться, что мой фон подходит для всех устройств iPhone.