Как реализовать привязку к центру в SpriteKit? - PullRequest
0 голосов
/ 04 августа 2020

В основном у меня в SKScene много SKNodes. Я не могу использовать SKAction, потому что я хочу, чтобы физический движок обрабатывал столкновения за меня, поэтому мой единственный оставшийся вариант - использовать физику. Как мне go об этом? Пример: при касании узла он должен привязываться к центру экрана, а другие узлы также должны отскакивать во время столкновений.

1 Ответ

0 голосов
/ 04 августа 2020

Хорошо, я разобрался. Все, что мне нужно было сделать, это вычислить вектор от моего текущего положения узла до центра и применить увеличенную скорость к моему узлу в этом направлении. В методе update моего SKScene я постоянно проверяю, нахожусь ли я в пределах определенного радиуса от центра, и если да, то просто устанавливаю скорость моего узла равной 0. Это останавливает его в центре. . Прелесть этого также заключается в том, что для других моих узлов, которые не центрированы, если я перетащу их в центральный узел и перемещу центральный узел в другое место, после завершения перетаскивания центральный узел вернется назад.

Вы можете проверить мое решение здесь: https://github.com/ThasianX/ElegantColorPalette

...