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)
Другие вопросы по тегам