Использование frame.contains () с повернутым спрайтом - PullRequest
0 голосов
/ 26 ноября 2018

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

При определении, содержит ли повернутый спрайт другой спрайт или его точку, функция contains() учитывает пустое accumulatedFrame пространство вокруг вращающегося спрайта.

Как изменить рамку, чтобы она соответствовала спрайту, чтобы этого не произошло?

1 Ответ

0 голосов
/ 28 ноября 2018

Один из вариантов - поместить SKNodes в каждом углу квадрата перед его вращением, а затем получить их точки, используя функцию convert .Оттуда вы можете нарисовать UIBezierPath между ними и проверить правильность пересечений, используя contains().

Единственная проблема с этим заключается в том, что будет отображаться, что безье перемещается с узлом при назначении ему,но фактический путь фиксирован и не будет двигаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...