Создание массива SCNVector3 с использованием Float в 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
}
}
}
1 ответ
Решение
Для какой платформы это?
если это для Mac OS, то вы должны использовать CGFloat, а не Float
РЕДАКТИРОВАТЬ:
Вы не можете назначить кортеж для vector3. в вашем коде вам нужно инициализировать новый вектор 3 и присвоить его вашему массиву
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)