gpt4 book ai didi

ios - 有没有办法使 SKSpriteNode 旋转与另一个 SKSpriteNode 物理体平行?

转载 作者:行者123 更新时间:2023-11-29 12:48:57 26 4
gpt4 key购买 nike

正如标题所说,有没有办法做这种事情:

SKSpriteNode parallel

有什么办法吗?如果是这样,我如何将 SKAction rotateToAngle 对应到面向圆的一侧?

谢谢!

最佳答案

圆在任何给定点的切线垂直于绘制到该点的半径。将这两个节点视为在极坐标系中,原点位于圆心。您可以将正方形的笛卡尔坐标(在其中心)转换为极坐标并找到适当半径的角度:

void cartopol(CGFloat x, CGFloat y, CGFloat *radius, CGFloat *theta)
{
*radius = sqrt(x*x, y*y);
*theta = atan2(y, x);
}

(如果您更喜欢使用 out 参数,这可以返回一个 CGPoint,正如我将在下面对互补函数所做的那样;算法是重点。)

theta 将以弧度为单位;加上或减去 π/4 使其旋转 90˚。

要围绕圆移动正方形,请选择您想要的角度和半径,并将极坐标转换为笛卡尔坐标:

CGPoint poltocar(CGFloat radius, CGFloat theta)
{
return (CGPoint){radius * cos(theta), radius * sin(theta)};
}

关于ios - 有没有办法使 SKSpriteNode 旋转与另一个 SKSpriteNode 物理体平行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22888226/

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