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