【发布时间】:2016-03-18 13:43:44
【问题描述】:
我正在制作一个围绕一个点运行的精灵,为此我制作了一条该精灵遵循的路径:
let dx1 = base1!.position.x - self.frame.width/2
let dy1 = base1!.position.y - self.frame.height/2
let rad1 = atan2(dy1, dx1)
path1 = UIBezierPath(arcCenter: circle!.position, radius: (circle?.position.y)! - 191.39840698242188, startAngle: rad1, endAngle: rad1 + CGFloat(M_PI * 4), clockwise: true)
let follow1 = SKAction.followPath(path1.CGPath, asOffset: false, orientToPath: true, speed: 200)
base1?.runAction(SKAction.repeatActionForever(follow1))
这行得通,精灵开始围绕该点运行。问题是当用户触摸屏幕时,我希望该精灵开始逆时针旋转。为此,我编写了相同的顺时针旋转代码,但将最后一行编辑为:
base1?.runAction(SKAction.repeatActionForever(follow1).reversedAction())
但问题是,虽然它是逆时针旋转的,但精灵图像是水平翻转的。我能做些什么来避免这种情况?或者有没有其他方法可以让精灵绕着一个点运行?
【问题讨论】:
标签: ios rotation sprite-kit