2017-01-07 4 views
0

지금까지 내 애플은 중간에 큰 공을 가지고 있고 중간에 작은 공도 가지고 있습니다. 화면의 아무 곳이나 눌러 볼 수 있고 작은 공이 그 방향으로 쏠 수 있기를 원합니다. 나는 사람들이 벡터 생성에 관해서 말하는 것을 들었다. 그러나 나는 신속하게 이것들을 작동시키는 것처럼 보이지 않는다. 3. 나는 어리석은 질문에 대해 초보자이다.탄환의 방향으로 총알 발사

var mainBall = SKSpriteNode(imageNamed: "Ball") 

override func didMove(to view: SKView) { 


    mainBall.size = CGSize(width: 300, height: 300) 
    mainBall.position = CGPoint(x: frame.width/2, y: frame.height/2) 

    self.addChild(mainBall) 

} 

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 

    if let touch = touches.first { 
     let position = touch.location(in: self) 
     print(position.x) 
     print(position.y) 
    } 

    for touch in (touches) { 
     touch.location(in: self) 

     let smallBall = SKSpriteNode(imageNamed: "Ball") 
     smallBall.position = mainBall.position 
     smallBall.size = CGSize(width: 100, height: 100) 
     smallBall.physicsBody = SKPhysicsBody(circleOfRadius: smallBall.size.width/2) 
     smallBall.physicsBody?.affectedByGravity = false 

     self.addChild(smallBall) 

    } 
} 
+0

당신은 (HTTPS [튜토리얼에서 봐]로 할 수 있습니다

여기 내 코드입니다. raywenderlich.com/145318/spritekit-swift-3-tutorial-beginners). – shallowThought

답변

0

당신은 SKSprideNode의 애니메이션 작업을 사용할 수 있습니다 : // WWW :

override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
    guard let touch = touches.first else { 
     return   
    } 

    let newPosition = touch.location(in: self) 
    ... 
    //assuming self.smallBall exists and is visible already: 
    [self.smallBall runAction:[SKAction moveTo:newPosition duration:1.0]]; 
} 
+0

나는 당신의 코드를 추가했으나 2 번을 요구했지만, 이제는이 오류가 발생합니다 ... [link] (http://prntscr.com/dspjq5). 죄송합니다! 내가 뭐하고 있는지 모르겠다! –

+0

죄송합니다. 나는 우연히 Obj-C 문법으로 전환했다. 업데이트 된 답변. – shallowThought