SpriteKit SKNodes的位置值正在将64位CGFloat更改为32位

时间:2018-11-03 20:44:26

标签: swift sprite-kit cgpoint

我的SKShapeNode和SKCameraNode从64位值更改为32位时遇到问题。我需要非常具体的值,否则当我移动太多时,我的SKCameraNode会开始变得抖动。在计算位置并将其设置为对象位置值时,该值会更改。

func updatePos(delta:CGFloat, ct:CGFloat){

    let t = ct.truncatingRemainder(dividingBy: T)
    let newPos = getPos(at: t)

    prevPos = self.position
    self.position = newPos
    self.vel = calcVel()

    if(self.objectName == "Earth"){
        print("P1: \(newPos.dictionaryRepresentation)")
        print("P2: \(self.position.dictionaryRepresentation)")
    }

}

将显示哪些值的示例:

P1: {
   X = "1509021.166536532";
   Y = "188778.6327918158";
}
P2:   {
   X = "1509021.125";
   Y = "188778.625";
}

P1: {
   X = "1509021.16715277";
   Y = "188778.6279487592";
}
P2: {
   X = "1509021.125";
   Y = "188778.625";
} 

我尝试使用SKActions移动节点,但是仍然没有区别。

有什么办法可以防止数字变化吗?

0 个答案:

没有答案