int*_*_32 3 macos vector core-graphics ios
我需要使用 a 在两个 SpriteKit 节点之间移动CGVector,其长度例如为 100(红色箭头)。
但如果向量的长度超过 70(绿色箭头),我想将其限制为 70。因此,我需要“剪切”红色向量的长度,但保持其方向。

我怎样才能做到这一点?
假设您有一个v类型为 的变量CGVector。首先,计算它的长度:
double len = hypot(v.dx, v.dy);
Run Code Online (Sandbox Code Playgroud)
然后,如果它大于 70,则将两个分量除以len并乘以 70,以使向量的长度等于 70:
if (len > 70.0)
{
v.dx *= 70.0 / len;
v.dy *= 70.0 / len;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
249 次 |
| 最近记录: |