ja konwersji część kodu celu C do kodu Swift i następujący problem:Konwersja z jednego struktury z innym
kodu celem-C
SCNNode *textNode = [SCNNode nodeWithGeometry:text];
textNode.transform = CATransform3DInvert(self.chartNode.worldTransform);
to przekonwertowany I Kod próbowałem:
let textNode = SCNNode(geometry: text)
textNode.transform = CATransform3DInvert(self.chartNode.worldTransform)
Jednakże pojawia się błąd: 'SCNMatrix4 nie jest wymienialny na CATransform3D'
Zrozumiałem, że CATransform3DInvert przyjmuje parametr typu CATransform3D, a parametr I obejmuje typ SCNMatrix4.
Próbowałem następującą próbę Obsada:
textNode.transform = CATransform3DInvert(CATransform3D(self.chartNode.worldTransform))
ale to nie działa.
I wtedy okazało się, że zarówno CATransform3D i SCNMatrix4 są zarówno kodowanym i jestem pewien, w jaki sposób przekonwertować z jednej struktury do drugiej (lub nawet jeśli jest to możliwe do konwersji między kodowanym w Swift?)
Może tam to kolejne prostsze podejście?
Każda pomoc byłaby doceniona - dziękuję.
Wygląda na to odpowiedział za Objective-C [tutaj] (http://stackoverflow.com/questions/26263605/catransform3dscale-expecting-catransform3d -struct-not-scnmatrix4), porady powinny być dość łatwe do przesłania do Swift. –
Dlaczego nie używasz 'SCNMatrix4Invert'? – rintaro
Dziękuję za link. –