我正在将一些Objective-C代码转换为Swift代码,我有以下问题:
Objective-C代码是
SCNNode *textNode = [SCNNode nodeWithGeometry:text];
textNode.transform = CATransform3DInvert(self.chartNode.worldTransform);
Run Code Online (Sandbox Code Playgroud)
这是我试过的转换代码:
let textNode = SCNNode(geometry: text)
textNode.transform = CATransform3DInvert(self.chartNode.worldTransform)
Run Code Online (Sandbox Code Playgroud)
但是,我收到一个错误:'SCNMatrix4无法转换为CATransform3D'
我意识到CATransform3DInvert接受CATransform3D类型的参数,而我包含的参数是SCNMatrix4类型.
我尝试了以下演员尝试:
textNode.transform = CATransform3DInvert(CATransform3D(self.chartNode.worldTransform))
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
然后我发现CATransform3D和SCNMatrix4都是结构体,我不确定如何从一个结构转换到另一个结构(或者甚至可以在Swift中的结构之间进行转换?)
也许还有另一种更简单的方法?
任何帮助将不胜感激 - 谢谢.