SKPhysicsBody не выстраивается в линию с SKShapeNode
У меня есть круговой узел, созданный так:
let path = CGPathCreateWithEllipseInRect(CGRect(x: 0, y: 150, width: playerWidth, height: playerHeight), nil)
self.path = path
fillColor = UIColor.whiteColor()
Всякий раз, когда я добавляю physBody (circleOfRadius: CGFloat), он отказывается совпадать с положением узла и заканчивается в нижней левой части экрана симулятора.
Есть ли способ, которым я могу изменить положение физического тела? Разместим больше кода, если это необходимо
1 ответ
Решение
Если вы хотите переместить физическое тело, не устанавливайте тело фигуры. Создайте SKNode, который прикреплен к фигуре, затем установите физический корпус SKNode. Чтобы переместить тело, поиграйте с позицией SKNode, которую вы создали на фигуре.
let shape = SKShapeNode(initialize here)
let bodyNode = SKNode()
shape.addChild(bodyNode)
bodyNode.physicsBody = SKPhysicsBody(initialize here)
// To move the body;
bodyNode.position = CGPoint(point you wish)