我想旋轉精靈,讓我們說90度。我將如何編碼?我想這使用Swift旋轉精靈
let rotate = [SKAction .rotateByAngle(M_PI_4, duration: 0)]
但是這給了我一個error.M
我想旋轉精靈,讓我們說90度。我將如何編碼?我想這使用Swift旋轉精靈
let rotate = [SKAction .rotateByAngle(M_PI_4, duration: 0)]
但是這給了我一個error.M
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)
}
}
M_PI_4
是Double類型但功能需要一個CGFloat的,所以你需要將其強制轉換。
let rotate = [SKAction.rotateByAngle(CGFloat(M_PI_4), duration: 0)]
請注意,此時的旋轉將是單個SKAction的數組。刪除方括號,如果這不是你想要的,你只是想SKAction本身。
CGFloat是大多數UI庫中使用的浮點類型。精度取決於平臺。一般在32位設備上,它相當於Float,在64位設備上相當於Double。