如何围绕自己的轴旋转 SKShapeNode?

eri*_*ric 5 ios sprite-kit swift

我想围绕其轴旋转 SKShapeNode (我认为在像 SpriteKit 这样的框架中很容易完成的任务)。形状旋转,但围绕一个似乎在屏幕外的轴......

关于这里出了什么问题的任何想法?

import SpriteKit

class Square: NSObject {

    // this gets created and initialized later...
    var shape: SKShapeNode? = nil

    //… 

    func animateMe(){

        let action = SKAction.rotateByAngle(CGFloat(M_PI), duration:1)
        self.shape.runAction(action, completion: { [unowned self] () -> Void in

            self.shape.removeFromParent()
        })   
    }
}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

jtb*_*des 2

旋转发生在节点的周围position。因此,您应该更改节点的 ,并给它一个以(0,0)为中心的路径,而不是为形状节点positionpath提供具有 x/y 偏移量的路径来定位形状,以便它在其位置附近绘制形状(因为路径也是相对于 绘制的)。position

也可以看看这个答案。