所以我正在使用一本名为iOS Games的书,来自Ray Wenderlich的教程,并尝试利用那里发现的一些Objective-C代码来加速度计控制我游戏中的角色。而不是Objective-C,我想使用Swift。我在尝试创建一个GLKVector3类型的var时遇到了一个问题,它代表了一个3D矢量。当我输入时:
var raw:GLKVector3 = GLKVector3Make(irrelevant stuff)
我收到以下错误:
使用模块GLKVector3作为类型。
我在我的swift文件顶部有一个导入GLKit:
import GLKit
任何想法如何从我的程序中使用GLKMath文件获取功能?
Swift在版本1.2中添加了联盟支持。导入联合中的字段是只读的,即使使用声明也是如此 var
,但可以根据需要传递给C函数和从C函数传递。
Swift 1.2的发行说明暗示这些字段可能根本无法访问,但它们至少仍然可读 GLKit
类型:
Swift现在可以部分导入包含联合,位域,SIMD向量类型以及Swift本身不支持的其他C语言功能的C聚合。 Swift无法访问不受支持的字段,但可以在Swift中使用具有这些类型的参数和返回值的C和Objective-C API。这包括基金会 NSDecimal
类型和 GLKit GLKVector
和 GLKMatrix
类型等等。
Swift在版本1.2中添加了联盟支持。导入联合中的字段是只读的,即使使用声明也是如此 var
,但可以根据需要传递给C函数和从C函数传递。
Swift 1.2的发行说明暗示这些字段可能根本无法访问,但它们至少仍然可读 GLKit
类型:
Swift现在可以部分导入包含联合,位域,SIMD向量类型以及Swift本身不支持的其他C语言功能的C聚合。 Swift无法访问不受支持的字段,但可以在Swift中使用具有这些类型的参数和返回值的C和Objective-C API。这包括基金会 NSDecimal
类型和 GLKit GLKVector
和 GLKMatrix
类型等等。
随着昨天(2015年2月8日)发布的Xcode 6.3 / Swift 1.2测试版,现在可以使用Swift的GLKit。
在这里检查我的回购: https://github.com/noxytrux/SwiftGeom 我实际上构建了一个完整的lib,所以你不再被迫使用GLKit或等待Apple在swift中实现它。