gpt4 book ai didi

ios - 如何设置SKSpriteNode的最小碰撞角度

转载 作者:行者123 更新时间:2023-12-02 04:29:06 25 4
gpt4 key购买 nike

如何为 SKSpriteNode 对象设置最小碰撞角度,以便当它与任何其他 Sprite 碰撞时,其反向角度始终大于或等于该角度(负值或正值)?

我的目标是防止两个平行边缘之间的死锁碰撞 - 例如 - 以便球不会永远在它们之间振荡。

最佳答案

最后,我找到了一个解决方案 - 可能不是最好的,但效果很好 -。

当 Sprite 与另一个 Sprite 碰撞时,我从以下方程中找到 Sprite 速度角:

角度 = atan(dy/dx)

并检查角度值。如果它小于最小值,我将角度设置为最小值,然后从方程中找到新的速度 dy:

dy_new = dx * tan(新角度)

并从方程中找到 dx_new:

dx_new = sqrt(pow(dx, 2) + pow(dy, 2) - pow(dx_new, 2));

这意味着速度大小相同,但仅方向改变。这是基于向量方程:

速度 = sqrt(pow(dx, 2) + pow(dy, 2));和
角度= atan(dy/dx);

这里是速度矢量数学的链接: http://faculty.wwu.edu/vawter/PhysicsNet/Topics/Vectors/TheVelocityVector.html

关于ios - 如何设置SKSpriteNode的最小碰撞角度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33779712/

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