2016-04-15 7 views
1

Я стараюсь изо всех сил сделать простую игру «защита башни» самостоятельно (как для изучения SpriteKit, так и для того, чтобы мои ноги были мокрыми в разработке игр в целом).Получение спрайта, чтобы «следить» за другим Sprite в SpriteKit

У меня есть большая часть игры, но моя проблема в том, что речь идет о том, чтобы башня «стреляла» на врагов, которые ходили по экрану.

Я не совсем уверен, как продвигать башню «пулями» к врагу. Сам враг перемещается статически, точка-точка, пока он не достигнет конечной точки, где он умирает.

Однако пуля должна динамически сдвигать ее «путь», поэтому я не могу использовать метод moveTo (x:, y :) для его перемещения, или он выглядит глупым (пуля будет двигаться по прямой линии где противник был на инициализации пули).

Я не уверен, что мне нужно реализовать пути (т. Е. CGPath), потому что, честно говоря, я не могу понять, что такое CGPath. Итак, здесь я как бы застрял в направлении, чтобы войти.

Есть ли простая функция, которая позволит спрайту перемещаться или «следовать» другому спрайту? (В этом случае, когда они сталкиваются, я могу просто удалить пулю).

+1

проверить это - [Соискатель & Target] (http://stackoverflow.com/a/36235426/3402095) – Whirlwind

+0

Просто отправьте ту же ссылку ... –

ответ

1

Для каждого цикла обновления вычислите вектор от пули до положения противника. Нормализовать это до длины 1. Затем переместите пулю через SKAction в конец этого вектора. Вы должны сделать некоторые расчеты с расстоянием до перемещения и скоростью пули, чтобы определить, сколько времени займет SKAction. Вы можете использовать SKConstraint, чтобы вращать пулю, чтобы противостоять врагу автоматически.

Эта ссылка поможет с вектором материала, но Ill попробовать и отправить код позже:

https://www.raywenderlich.com/90520/trigonometry-games-sprite-kit-swift-tutorial-part-1

+0

Вы также можете сделать это с ограничением расстояния, которое непрерывно уменьшается ... –

+1

Вы также можете создать ограничение расстояния для следующего поведения: http: // developerplayground.net/how-to-implement...and-swift-part-2/ – Stefan

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