2016-07-24 4 views
2

나는 만지고있는 곳으로 이동할 수있는 SKSpriteNode를 가지고 있으며, 손가락이있는 곳에서 수평선을 따라 이동하여 수직으로 움직일 수 없도록하려고합니다.수평선을 따라 SKSpriteNode를 이동하는 방법

class GameScene: SKScene { 

var ship = SKSpriteNode() 

override func didMoveToView(view: SKView) { 
    /* Setup your scene here */ 



    let shipTexture = SKTexture(imageNamed: "Evaders Art/EvadersShipVert2.png") 

    ship = SKSpriteNode(texture: shipTexture) 

    ship.position = CGPoint(x: CGRectGetMidX(self.frame), y: CGRectGetMidY(self.frame) - 250) 

    ship.size = CGSize(width: 90, height: 115) 

    shipTexture.filteringMode = SKTextureFilteringMode.Nearest 

    ship.zPosition = 2 





    self.addChild(ship) 



} 

override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) { 
    var nodeTouched = SKNode() 
    var currentNodeTouched = SKNode() 

    for touch: AnyObject in touches { 
     let location = touch.locationInNode(self) 

     nodeTouched = self.nodeAtPoint(location) 
     ship.position = location 

    } 

} 

다음은 내 코드입니다. 미리 감사드립니다. 당신은 탭의 위치로 선박의 위치를 ​​설정하고, 현재

ship.position.x = location.x 

:

답변

1

이보십시오. 일관된 y 위치를 원한다면 x 만 설정하십시오.

+0

이 질문에 대한 답변을 제공하지 않습니다. 비평하거나 저자의 설명을 요청하려면 게시물 아래에 의견을 남겨 둡니다. - [리뷰에서] (리뷰/저품절 포스트/13108728) –

+0

답변을 제공합니다. 그것은 OP의 문제를 해결하는 방법을 보여줍니다. – penatheboss

+0

이 코드가 왜 대답으로 간주되는지 설명해야합니다. 배송 위치는 현재 터치 위치 등의 값을 지정하여 업데이트해야합니다. 서술없이 소스 코드를 게시하면 겉 핥기가됩니다. –

관련 문제