2015-09-04 96 views
0

我想旋轉精靈,讓我們說90度。我將如何編碼?我想這使用Swift旋轉精靈

let rotate = [SKAction .rotateByAngle(M_PI_4, duration: 0)] 

但是這給了我一個error.M

回答

0

M_PI_4被定義爲Double並且SKAction.rotateByAngle: duration:取CGFloat作爲角度參數。

試試這個:

import SpriteKit 


class GameScene: SKScene { 



    override func didMoveToView(view: SKView) { 


     let object = SKSpriteNode(color: SKColor.greenColor(), size: CGSize(width: 100.0, height: 100.0)) 
     object.position = CGPoint(x: CGRectGetMidX(frame), y:CGRectGetMidY(frame)) 
     addChild(object) 

     let rotate = SKAction.rotateByAngle(CGFloat(M_PI_4), duration:0) //You need explicit cast here , M_PI_4 is defined as Double 



     //First way 
     object.runAction(rotate) 

     //Second way 

     object.zRotation = CGFloat(M_PI_2) 

    } 


} 
1

M_PI_4是Double類型但功能需要一個CGFloat的,所以你需要將其強制轉換。

let rotate = [SKAction.rotateByAngle(CGFloat(M_PI_4), duration: 0)] 

請注意,此時的旋轉將是單個SKAction的數組。刪除方括號,如果這不是你想要的,你只是想SKAction本身。

CGFloat是大多數UI庫中使用的浮點類型。精度取決於平臺。一般在32位設備上,它相當於Float,在64位設備上相當於Double。