Так что, по сути, я делаю платформенную игру. когда игрок сталкивается с платформой, игрок получает силовой альбом вверх по оси Y. Код ниже, который я получил, имитирует вид, следующий за игроком. Он также следует за игроком, когда ГГ направляется вниз по оси Y. Я этого не хочу. Только хотите, чтобы подземелья, переднего плана и фона двигались вниз, когда игрок движется вверх.Только перемещайте groundparallax, когда игрок движется вверх по оси Y
Gamescene.swift:
class GameScene: SKScene, SKPhysicsContactDelegate {
var background:SKNode!
var midground:SKNode!
var foreground:SKNode!
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(size: CGSize){
super.init(size: size)
background = createBackground()
addChild(background)
midground = createMidground()
addChild(midground)
foreground = SKNode()
addChild(foreground)
player = createPlayer()
foreground.addChild(player)
}
override func update(currentTime: CFTimeInterval) {
if player.position.y > 200{
background.position = CGPoint(x: 0, y: -((player.position.y - 200)/10))
midground.position = CGPoint(x: 0, y: -((player.position.y - 200)/4))
foreground.position = CGPoint(x: 0, y: -((player.position.y) - 200))
}
}
Я пробовал что-то подобное, но как только игрок сталкивается с платформой, что-то лагирует все это вверх. Не как память lagg, есть что-то с этим полностью выключено, когда оно запускается из plattform. – rkoi95
Можете ли вы показать код или вещи, которые вы отличили от моего «решения»? – aignetti
Я просто заменил свой код на ваш и добавил переменные. кроме того, что у меня есть платформа, которая дает «player.physicsbody» .velocity.dy = CGFloat (700) », когда она сталкивается с платформой sknode. – rkoi95