【发布时间】:2014-10-06 12:23:46
【问题描述】:
我正在尝试将这段代码从 Objective-C 翻译成 Swift,但我很难弄清楚 vector_mix 在这种情况下做了什么。我看到 vector_mix 在 Swift 中可用,但 vector_float3 类型不可用。
SCNNode *car = [_vehicleNode presentationNode];
SCNVector3 carPos = car.position; //this is a SCNVector3
vector_float3 targetPos = {carPos.x, 30., carPos.z + 25.};
vector_float3 cameraPos = SCNVector3ToFloat3(_cameraNode.position);
cameraPos = vector_mix(cameraPos, targetPos, (vector_float3)(cameraDamping));
_cameraNode.position = SCNVector3FromFloat3(cameraPos);
似乎它是从cameraPos 中提取x,从targetPos 中提取y,并从cameraDamping 中提取z,但是你为什么还要费心写targetPos x,@ 987654331@和z?
我从this 知道vector_float3 目前在 Swift 中不可用,但必须有一种方法来模拟类似的东西。我只是不明白在这种情况下到底是什么。
如何在 Swift 中复制 vector_float3?或者我如何在 Swift 中编写这段代码?
【问题讨论】:
标签: ios objective-c swift scenekit