【发布时间】:2021-07-21 04:41:50
【问题描述】:
我有一个应用程序,旨在记录相机当前的 X、Y、Z 坐标并将它们打印出来。它使用下面的代码正确地做到了这一点
func renderer(_ renderer: SCNSceneRenderer, willRenderScene scene: SCNScene, atTime time: TimeInterval) {
guard let pointOfView = sceneView.pointOfView else { return }
let transform = pointOfView.transform
let CamPosition = SCNVector3(transform.m41, transform.m42, transform.m43)
print(CamPosition)
我想截断打印输出,因为它很长。我发现这个扩展可以截断值。
extension Double {
func truncate(places : Int)-> Double {
return Double(floor(pow(10.0, Double(places)) * self)/pow(10.0, Double(places)))
}
}
如果我打印这样的东西,这会起作用:
x = 1.123456789
print(x.truncate(places: 2))
但是如果我这样打印出来就不行了:
print(camRotation.truncate(palces:2))
它给我的错误是“'SCNVector4'类型的值没有成员'truncate'”
这是我的格式问题还是 SCNVectors 只是不允许您使用扩展?
【问题讨论】:
标签: swift iphone xcode augmented-reality arkit