2017-11-20 3 views
1

OSC 메시지의 일종을 보내야하는 상황이 있습니다. 불행히도 OSC 목록은 float, float, float .. 형식의이 형식이어야합니다. ...vertex 목록을 float으로 푸시하려고 시도합니다.

원본 데이터는 일부 묶음의 데이터 인 vector_float3입니다.

나는 이것이 단순하다고 생각되지만, 나는 목록을 "풀어 내려고"노력하고있다.

dataY는 vector_float3 값의 목록입니다. 나는 이것을 처리하는 방법을 잘 모르겠다. 아마도 맵이 있지만, 그것은 String에서만 작동한다.

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] 
    ) 

답변

2

vector_float3튜플과에서 배열하는 튜플에서 간단한 변환은 없다 : 나는 수동으로 작업을 수행하는 경우

, 나는 수동으로 목록에있는 모든 단일 항목을 입력해야 신속하게 각 튜플 멤버 에 명시 적으로 액세스해야합니다. 당신은 조금 더 조밀하게 그것을 달성 할 수 있습니다

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