CGPoint 标量乘法 Swift

hal*_*ato 3 math swift

我正在 SpriteKit 中构建一个平台游戏,并将为我的实体实现更新功能,以便它们根据重力和速度移动。但是,我需要使添加的速度量与增量时间成比例,以防止帧速率影响我的实体的移动方式,因此我将导入 GLKit,以便我可以使用标量函数。但是 swift 不兼容。是否有其他方法可以实现 CGPoints 的标量乘法或使速度命题与增量时间相关?

PS:有人能解释一下什么是标量乘法以及它是如何工作的吗?

kmi*_*ael 5

目前没有内置的方法来使用CGPoints 进行数学运算。有许多第三方库可以做到这一点,大部分是在以前构建的GLKit。正如您提到的,现在最好的方法是使用GLKit支持 Swift 的 。希望不久。

标量乘法非常简单。您只需将 的每个分量乘以CGPoint相同的数字(也称为标量)。

CGPoint CGPointMultiplyScalar(CGPoint point, CGFloat scalar) {
    return CGPointMake(point.x * scalar, point.y * scalar);
}
Run Code Online (Sandbox Code Playgroud)