Я создаю SKShapeNodes в моей программе с помощью этого:Swift 3 (SpriteKit): Выравнивание SKPhysicsBody к SKShapeNode
let points = [CGPoint(x: x, y: y), CGPoint(x: x2, y: y2)]
let line = SKShapeNode(points: &points, count: points.count)
Проблема, которую я имею в том, что всякий раз, когда я добавить physicsBody к линии, physicsBody является не выравнивается с линией. Я понимаю, что проблема в том, что позиция линии всегда CGPoint (x: 0, y: 0), поэтому физическое устройство всегда находится в центре экрана независимо от того, где находится линия. Вот мой код для создания physicsBody:
line.physicsBody = SKPhysicsBody(rectangleOf: (line.frame.size))
Если кто-нибудь знает, как выровнять physicsBody к линии, то пожалуйста, ответьте с вашим решением. Благодаря!
Есть несколько способов исправить это, используя другие инициализаторы. Тем не менее, сначала немного отлаживаем ваш пример. Что говорит print ('line.frame.size')? Можете ли вы изменить свой вопрос и значения жесткого кода обоих CGPoints? (координаты x и y)? – Whirlwind