Как остановить падение позиции игрока с помощью CGRect.maxX в Swift? - PullRequest
0 голосов
/ 17 апреля 2019

Я пишу код для шутера типа Space Invader, и когда я пошел, чтобы установить кадр через CGRect, игрок перемещается вправо, а затем кажется, что весь кадр переместился в эту сторону.

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

    for touch: AnyObject in touches{

        let pointOfTouch = touch.location(in: self)
        let previousPointOfTouch = touch.previousLocation(in: self)

        let amountDragged = pointOfTouch.x - previousPointOfTouch.x

        player.position.x += amountDragged

        if player.position.x > gameArea.maxX - player.size.width/2 {
            player.position.x = gameArea.maxX - player.size.width/2
        }
        if player.position.x < gameArea.minX + player.size.width/2{
            player.position.x = gameArea.minX + player.size.width/2};

    } 
}

Насколько я могу переместить игрока влево: enter image description here Затем игрок падает с экрана вправо: enter image description here Я понятия не имею, почему весь кадр движется.

...