在Swift中使用Float创建SCNVector3数组

时间:2018-03-17 19:08:45

标签: scenekit scnvector3

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

1 个答案:

答案 0 :(得分: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)