gpt4 book ai didi

ios - 向 SKSpriteNode 施加脉冲以赋予其随机方向

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:16:35 26 4
gpt4 key购买 nike

我有一个在屏幕周围弹跳的球。根据用户达到的水平,我让球走得更快。所以,我做了以下事情:

[ball.physicsBody applyImpulse:[self vectorForLevel:self.level]];

构建CGVector的方法。

- (CGVector)vectorForLevel:(int)level {
CGFloat thrust = level+3;
return CGVectorMake(thrust*cosf(4), thrust*sinf(-4));
}

虽然这非常有效并且可以像我想要的那样在每个关卡中加快速度,但我也想随机化球的起始角度,但我不确定该怎么做。

我对 CGVector 了解不够,无法真正知道如何改变角度。我扔进去的 4 和 -4 是这个角度吗?

有人知道如何随机化方向吗?

最佳答案

您在 CGVectorMake() 中使用的表达式本质上是从极坐标到笛卡尔坐标的转换。

x 分量由 radius * cos(theta) 给出,其中 theta 是以弧度表示的角度。 yradius * sin(theta)。零角通常指向右侧(“正东”)。

因此,只需更改 theta 即可更改向量的方向。 (将相同的数字传递给 cosf()sinf() 是最明智的,但当然你会得到 一些 结果 no不管你用什么。)

关于ios - 向 SKSpriteNode 施加脉冲以赋予其随机方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22777214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com