2014-09-30 4 views
0

이동할 배경 이미지가 있지만 반복하지 않습니다. 한 번 배경을 통과 한 후 회색 배경으로 돌아갑니다. 배경을 영원히 반복하도록하려면 어떻게해야합니까? 이것은 내가 지금까지 가지고있는 코드이다. 이것은 이미지입니다 : http://i.imgur.com/OgdWXJG.png Im는 xcode에서 swift를 사용합니다. 고맙습니다.내 배경 이미지가 계속 반복 되려면 어떻게해야합니까?

override func didMoveToView(view: SKView) { 

    // Background 
    background = SKSpriteNode(imageNamed: "background") 
    background.position = CGPointMake(self.size.width/2, self.size.height/2) 
    self.addChild(background) 

    // loop Background Image 

    doAction1() 

    } 

    //loop background image 

    func loopBackground() { 
    let moveToBottom = SKAction.moveByX(0, y: 5000 - self.frame.size.height -     
    background.size.height, duration: 100.0) 

    let removeTheNode = SKAction.removeFromParent() 
    let moveAndRemoveBackground = SKAction.sequence([moveToBottom, removeTheNode]) 
    background.runAction(moveAndRemoveBackground) 

    } 


    //background repeat action 

    func doAction1() { 
    let generateBackground = SKAction.sequence([ 
    SKAction.runBlock(self.loopBackground), 
    SKAction.waitForDuration(1)]) 
    let endlessAction1 = SKAction.repeatActionForever(generateBackground) 
    runAction(endlessAction1) 

    } 

답변

0

개인적으로 나는 당신이 배경으로 무엇을하려하는지에 달려 있다고 생각합니다.

이 상황에서 가장 좋은 방법은 다른 배경을 옮겨야 할 때를 결정하는 것입니다. 기본적으로 사용자가 화면을 패닝 (이동)하면 사용자가 첫 번째 끝까지 도달하면 다른 배경을 추가해야합니다. 추가 보너스로, 한 방향으로 만 스크롤 할 수 있다면 실제로 2 개의 배경 노드가 필요합니다. 그것들을 나란히 놓고, 사용자가 잘 통과하면 두 번째 앞에서 첫 번째 이동을하고, 그 반대도 마찬가지입니다. 화면을 각 방향 (상단 중앙, 상단 중앙, 우측 상단, 중앙 좌측, 중앙 중앙, 우측 중앙, 하단 중앙, 하단 중앙 및 하단 오른쪽)에있는 방향으로 움직일 수 있으면 화면을 움직일 수 없으며 위치를 재조정 할 수 있습니다 사용자가 새로운 가운데 중심 위치에있는 노드를 만들면됩니다.

반면에 나는 시차로 알려진 기술을 구현하는 것이 좋습니다. 나는 설명 할 것이지만 나는 그것을 공정하게 알고 정의를 할 수 없다는 것을 알기 때문에 읽으라고 권하고 싶습니다 : RayWenderlich Space Shooter Tutorial 이것은 시차를 설명하는 데 훌륭한 역할을합니다. Spritekit을 사용하는 예제이지만이 기술은 확실히 전달할 수 있습니다.

저는 도움이되기를 바랍니다. 스위프트에 익숙하지 않아서 예제 코드를 제공하지 못해 죄송합니다.

관련 문제