SKSpriteNode zrotation M_PI令人愤怒

时间:2014-09-25 10:20:12

标签: ios objective-c xcode swift sprite-kit

所以我想做的就是将SKSPriteNode旋转90度。只是。它应该是简单的,但我的第一种方法,假设它是度,将对象完全转换为错误的方法。所以我去谷歌>堆栈溢出。有很多答案可以解决这个问题,可以尝试使用M_PI或一些变化。不。 'Double'不能转换为'CGFloat'。谷歌再次。 “尝试使用skhy with blah blah”nope。

旋转精灵有多难?或者我疯了

3 个答案:

答案 0 :(得分:3)

这对我来说似乎很好。了解弧度和度数之间的转换非常重要。 http://en.wikipedia.org/wiki/Radian#Conversion_between_radians_and_degrees

sprite.zRotation = CGFloat(M_PI_2)

答案 1 :(得分:2)

我假设你根据你的"' Double'使用Swift。是不可转换的......"评价。

以下将精灵逆时针旋转90度:

        sprite.runAction(SKAction.rotateByAngle(CGFloat(M_PI_2), duration: 1.0))

以下将精灵顺时针旋转90度:

        sprite.runAction(SKAction.rotateByAngle(CGFloat(-M_PI_2), duration: 1.0))

答案 2 :(得分:2)

另一个选择是为Int创建一个Extension extension Int { var deg2Rad : CGFloat { return CGFloat(self) * CGFloat(M_PI) / 180.0 } }

然后像这样使用它:

sprite.runAction(SKAction.rotateByAngle(180.deg2Rad,duration:1.0))

让我觉得它更具人性化