У меня есть несколько незавершенных кругов, постоянно вращающихся, и пользователь переходит от круга к кругу. я удалил всю серьезность, силы и т.д. из моей сценыSpriteKit: enumerateBodiesAtPoint не показывает правильные тела
Проблема: Я пытаюсь сделать хит обнаружения, где я просто проверить, где находится пользователь, и если на этом этапе в физическом мире моей сцены есть тела SKNode. Если это удар с фигурой, пользователь может продолжить (изображение A), но сработает, если он находится снаружи (изображение B)
Хотя формы довольно сложны, сцена.showPhysics, похоже, точно соответствует моим формам. (См изображения A и B)
let updatedOrigin = user.calculateAccumulatedFrame().origin
user.scene?.physicsWorld.enumerateBodiesAtPoint(updatedOrigin, usingBlock: { (body, stop) in
print(" Shape contains \(body.node!.name)")
})
который печатает
Shape contains Optional("User")
Shape contains Optional("circle")
Shape contains Optional("circle")
Shape contains Optional("circle")
Shape contains Optional("circle")
Shape contains Optional("Scene")
Он печатает пользователя и сцену правильно, но и печатает все формы круга, вокруг, когда должен быть только один в данный момент, или нет. Узлы есть, но физика тел не должна ударяться.
Любые идеи, почему это показывает хит для всех этих кругов, когда он должен соответствовать только 1 или никому? Благодаря!
Edit: дополнительная информация - Я имел аналогичные результаты при использовании user.physicsBody?.allContactedBodies()
- Я использую CGPath создать PhysicsBody моего вращающегося узла
Вы собираетесь подать отчет об ошибке или я? – 0x141E
Знаете ли вы, что это все еще имеет место в iOS 10 GM? Отметьте ответ как разрешенный, как только я его попробую. –