2017-02-21 1 views
1

이것은 매번 새로운 이미지를 생성 한 다음 이전 이미지를 끊임없이 교체함으로써 '무한'배경을 만드는 데 사용하는 코드입니다. 그러나 앱이 시작되면 이미지의 절반 만 보입니다. 센터에서 시작하는 대신 시작시 화면의 왼쪽에 이미지를 정렬하고 싶습니다.스위프트 무한 배경이 왼쪽에 정렬되지 않음

이 응용 프로그램은

let bgTexture = SKTexture(imageNamed: "thebackground") 
let movebg = SKAction.moveBy(x: -bgTexture.size().width, y: 0, duration: 25) 
let replacebg = SKAction.moveBy(x: bgTexture.size().width, y: 0, duration: 0) //jumps the bg to original position 
let movebgForever = SKAction.repeatForever(SKAction.sequence([movebg, replacebg])) 

     background.position = CGPoint(x: bgTexture.size().width/2, y: self.frame.midY) 

     for var i in 0 ..< 3 { 

       var loop:CGFloat = CGFloat (i) * bgTexture.size().width 

       background = SKSpriteNode(texture: bgTexture) 
       background.position = CGPoint(x: bgTexture.size().width/2 + loop, y: self.frame.midY) 
       background.size.height = self.frame.height 
       background.zPosition = -2 
       background.run(movebgForever) 


       self.addChild(background) 
      } 
+0

내가 당신이라면 , 나는 여러 작업이 대신 다음 바로 부모 노드 그것은 내가 그것을 원한 다만 방법을 작동 – Knight0fDragon

답변

3

내가 당신의 시작 위치가 잘못하고 선이 다음해야한다고 생각 가로 방향입니다. 왼쪽 가장자리와 정렬하려면 x 위치가 음수 여야합니다.

background.position = CGPoint(x: -bgTexture.size().width/2 + loop, y: self.frame.midY) 
+0

에 작업을 넣어, 부모 SKNode에 배경 모든 노드를 연결 실행되지 않을 것이다, 대단히 감사합니다! @GaryMakin – user7594231

+3

@ user7594231 문제와 관련하여 도움이된다면이 대답을 수락하는 것을 고려해야합니다. 대답을 수락하려면 체크 표시를 클릭하십시오. 이것은 의무는 아니지만 응답이 실제 문제를 해결했음을 나타 내기 때문에 커뮤니티를 돕습니다. – Whirlwind