在Swift中使用GLKit中的GLKMath

所以我使用了Ray Wenderlich的一个叫做iOS Games的书,试图利用在这里find的一些Objective-C代码来对我的游戏中的angular色进行加速度计控制。 而不是Objective-C,我想使用Swift。 当我尝试创build一个代表3Dvector的GLKVector3types的variables时遇到了一个问题。 当我input:

var raw:GLKVector3 = GLKVector3Make(irrelevant stuff) 

我得到以下错误:

使用模块GLKVector3作为types。

我在GLKit的swift文件的顶部有一个导入:

 import GLKit 

任何想法如何从我的程序中使用GLKMath文件的function?

Swift在1.2版本中增加了工会支持。 即使使用var声明,导入的联合中的字段也是只读的,但可以根据需要传递给C函数。

Swift 1.2的发行说明意味着这些字段可能根本不可访问,但至less在GLKittypes中仍然可读:

Swift现在可以部分导入包含联合,位域,SIMD向量types和Swift中不支持的其他C语言function的C聚合。 不支持的字段将无法从Swift访问,但具有这些types的参数和返回值的C和Objective-C API可以在Swift中使用。 这包括Foundation NSDecimaltypes和GLKit GLKVectorGLKMatrixtypes等。

随着昨天(2015年2月8日)Xcode 6.3 / Swift 1.2testing版的发布,现在可以使用Swift的GLKit了。

在这里检查我的回购: https : //github.com/noxytrux/SwiftGeom我实际上build立一个完整的库,所以你没有更多的被迫使用GLKit或等待苹果迅速实施它。