2017-01-07 18 views
0

До сих пор у моего приложения был большой шар в центре и небольшой шарик посередине. Я хотел бы иметь возможность нажимать в любом месте экрана, и маленький шарик стреляет в этом направлении. Я слышал, как люди говорили о создании векторов, но я не могу заставить их работать быстрыми. 3. Я начинающий, так жаль насчет глупого вопроса!Bullet Fire In Direction of Tap

Вот мой код:

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: // WWW. raywenderlich.com/145318/spritekit-swift-3-tutorial-beginners). – shallowThought

ответ

0

Вы можете использовать действия для анимации SKSprideNode S:

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

 Смежные вопросы

  • Нет связанных вопросов^_^