1

我在数组中有一堆 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  
        }
    }
}
4

1 回答 1

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)

于 2018-03-17T23:52:44.200 回答