Определение движения моего космического корабля в спрайтеките в игре Swift - PullRequest
1 голос
/ 17 апреля 2019

Привет, я новичок в Xcode и Swift, сейчас я пытаюсь разработать игру, в которой в качестве игрока с космическими кораблями участвует космический корабль.Я столкнулся с небольшой проблемой, когда пытаюсь отличить движение космического корабля от запуска космического корабля.

В основном я использовал функцию touchesBegan () для запуска функции, которую запускает мой космический корабль, и touchesMoved ()функция для перемещения x-позиции космического корабля.

Это код:

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

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

    for touch in touches{

        let location = touch.location(in: self)
        spaceship.run(SKAction.moveTo(x: location.x, duration: 0.5))

    }
}

Я пытаюсь различить щелкающий или касающийся индикатор и нажатие и перемещение индикатора, вДругими словами, я не хочу, чтобы космический корабль запускался, когда я нажимаю и двигаюсь по экрану, и я не хочу, чтобы космический корабль двигался, когда я нажимаю постоянно, но в другом положении.(touchesMoved () обнаруживает изменения в позициях касания, поэтому, если я нажимаю в разных позициях, космический корабль будет двигаться, что мне не нужно)

Я хотел бы знать, как лучше всего реализовать это, спасибо.

1 Ответ

0 голосов
/ 17 апреля 2019

Вы можете попробовать проверить область, которую нажал пользователь, и решить, перемещать или нет космический корабль в зависимости от происхождения касания.

...