2016-04-30 25 views
1

こんにちは、私は現時点でゲームをコーディングしています。私は理解していない小さな問題があります。SpriteKitでSwiftを使ってSpriteNodeを回転させる方法は?

私はSpriteNodeを押したときに360度回転させて静止させたいと思います。これどうやってするの?私はM_PIで試しましたが、うまくいきません。それはどうしたのですか:

let rotate= SKAction.rotateToAngle(M_PI, duration: 0.5) 
    restart.runAction(rotate) 

答えて

0

RotateToは度/ radに回転します。 RotateByはスプライトを一定数のラジアン/度回転させます。 360度回転させるにはrotateByを使用し、360をradに変換します。

あなたの現在のケースでは、回転360と同じ回転0のオブジェクトに360の位置に回転するように指示しています。そのため、すでにそこにあるようにアクションが直ちに終了します。

+2

正の角度は、ノード反時計回りと 'M_PI'(即ち、PI)は、180°360°ない回転します。 – 0x141E

+0

'zRotation'が0で、' radians'パラメータとして '2 * M_PI'を使って' RotateTo'' SKAction'を適用すると、スプライトは360度回転します。 – 0x141E

+0

その後、元の質問に対する回答を提示する必要があります。 :-) –

0

はrotateByAngleを使用してみてください:

let rotate= SKAction.rotateByAngle(CGFloat(M_PI), duration: 0.5) 
restart.runAction(rotate) 
関連する問題