我正在 SpriteKit 中构建一个平台游戏,并将为我的实体实现更新功能,以便它们根据重力和速度移动。但是,我需要使添加的速度量与增量时间成比例,以防止帧速率影响我的实体的移动方式,因此我将导入 GLKit,以便我可以使用标量函数。但是 swift 不兼容。是否有其他方法可以实现 CGPoints 的标量乘法或使速度命题与增量时间相关?
PS:有人能解释一下什么是标量乘法以及它是如何工作的吗?
目前没有内置的方法来使用CGPoint
s 进行数学运算。有许多第三方库可以做到这一点,大部分是在以前构建的GLKit
。正如您提到的,现在最好的方法是使用GLKit
支持 Swift 的 。希望不久。
标量乘法非常简单。您只需将 的每个分量乘以CGPoint
相同的数字(也称为标量)。
CGPoint CGPointMultiplyScalar(CGPoint point, CGFloat scalar) {
return CGPointMake(point.x * scalar, point.y * scalar);
}
Run Code Online (Sandbox Code Playgroud)