Значение положения SpriteKit SKNodes меняется с 64 бит CGFloat на 32 бит - PullRequest
0 голосов
/ 03 ноября 2018

У меня проблема с изменением моего 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 для перемещения узлов, но это все равно не имеет значения.

Можно ли как-то предотвратить изменение чисел?

...