在这种情况下,我需要发送某种osc消息,不幸的是,限制是osc列表需要采用这种格式:float,float,float…..
原始数据是一些顶点数据,向量浮动3。
我确信这应该很简单,但我在试图“打开”列表时头痛不已。
datay是vector_float3值的列表。我不知道如何处理这个,据说有一个地图,但这只对字符串有效?
如果要手动输入,则必须手动键入列表中的每个项目:

    var mymessage:[Float] = []

    for data in dataY {
        mymessage.append(data.x)
        mymessage.append(data.y)
        mymessage.append(data.z)
    }


    let message = OSCMessage( OSCAddressPattern("/hello/osc"),
                              mymessage[0], mymessage[1], mymessage[2],
                              mymessage[3], mymessage[4], mymessage[5],
                              mymessage[6], mymessage[7], mymessage[8]
    )

最佳答案

vector_float3是一个元组,没有简单的从
元组到swift中的数组,必须访问每个元组成员
明确地。你可以用更紧凑的方式

let myMessage = Array(dataY.map { [$0.x, $0.y, $0.z] }.joined())

关于swift - 尝试将顶点列表解压缩为float,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47388084/

10-12 00:15
查看更多