小编Chr*_*ell的帖子

从一个结构转换为另一个结构

我正在将一些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中的结构之间进行转换?)

也许还有另一种更简单的方法?

任何帮助将不胜感激 - 谢谢.

struct scenekit swift

10
推荐指数
1
解决办法
695
查看次数

标签 统计

scenekit ×1

struct ×1

swift ×1