Search code examples
swiftrotationskshapenode

Rotate an SKShapeNode around an arbitrary point


Is there a way to rotate an SKShapeNode, specifically a rectangle, around some arbitrary point?

I declared my SKShapeNode at the beginning of my gameScene class

var bladeTouch = SKShapeNode()

and set its path to form a rectangle

bladeTouch.path = CGPathCreateWithRect(CGRectMake(0, 0, 60, 198), nil)

However "bladeTouch" only manages to rotate around its bottom left corner, while my intention is to have it rotate around a point on the middle of its bottom edge. How would I go about translating its path so that this is possible?


Solution

  • This would be simplest:

    bladeTouch.path = CGPathCreateWithRect(CGRectMake(-30, 0, 60, 198), nil)