在 Swift 中使用 Float 创建 SCNVector3 数组
Creating an array of SCNVector3 using Float in Swift
我在数组中有一堆 Z 坐标。我想使用这些值创建几何图形,因此我创建了一个 SCNVector3 数组。 X 和 Y 值将使用简单的嵌套循环计算,但 Z 值将来自我的数组。
Xcode 告诉我:无法将类型 '(x: Float, y: Float, z: Float)' 的值分配给类型 SCNVector3
我是不是犯了一个愚蠢的错误?
我现在的代码是:
var width = 10
var height = 20
var zDepth = [Float]()
var verts = [SCNVector3]()
var i = 0
for y in 0 ..< height {
for x in 0 ..< width {
if i < (width*height) {
vert[i] = (x: Float(x), y: Float(y), z: zDepth[i])
i += 1
}
}
}
这是什么平台?
如果是 mac os,那么你必须使用 CGFloat 而不是 Float
编辑:
您不能将元组分配给 vector3。在您的代码中,您需要初始化一个新的 vector3 并将其分配给您的数组
var width = 10
var height = 20
var zDepth = [Float]()
var verts = [SCNVector3]()
var i = 0
for y in 0 ..< height {
for x in 0 ..< width {
if i < (width*height) {
verts[i] = SCNVector3(x: Float(x), y: Float(y), z: zDepth[i])
i += 1
}
}
}
EDIT2:我取出了 cgfloat(我一直在考虑 cgfloats)
我在数组中有一堆 Z 坐标。我想使用这些值创建几何图形,因此我创建了一个 SCNVector3 数组。 X 和 Y 值将使用简单的嵌套循环计算,但 Z 值将来自我的数组。
Xcode 告诉我:无法将类型 '(x: Float, y: Float, z: Float)' 的值分配给类型 SCNVector3
我是不是犯了一个愚蠢的错误?
我现在的代码是:
var width = 10
var height = 20
var zDepth = [Float]()
var verts = [SCNVector3]()
var i = 0
for y in 0 ..< height {
for x in 0 ..< width {
if i < (width*height) {
vert[i] = (x: Float(x), y: Float(y), z: zDepth[i])
i += 1
}
}
}
这是什么平台?
如果是 mac os,那么你必须使用 CGFloat 而不是 Float
编辑:
您不能将元组分配给 vector3。在您的代码中,您需要初始化一个新的 vector3 并将其分配给您的数组
var width = 10
var height = 20
var zDepth = [Float]()
var verts = [SCNVector3]()
var i = 0
for y in 0 ..< height {
for x in 0 ..< width {
if i < (width*height) {
verts[i] = SCNVector3(x: Float(x), y: Float(y), z: zDepth[i])
i += 1
}
}
}
EDIT2:我取出了 cgfloat(我一直在考虑 cgfloats)