繁体   English   中英

使对象绕圈移动

[英]Make object move in a circle

我是编程的初学者,我一直在尝试使一个物体绕着另一个物体旋转(或只是绕圈移动)。 但是我做得不是很好。 有任何想法吗?

您需要一些常量来指定半径和速度:

const float speed = 100.0f;
const float radius = 50.0f;

您还需要一些变量来存储角度:

float angle;


- (void)updateObject:(NSTimeInterval)dt
{
    angle += speed * dt;
    angle = fmodf(angle, 360.0f);

    float x = cosf(DEGREES_TO_RADIANS(angle)) * radius;
    float y = sinf(DEGREES_TO_RADIANS(angle)) * radius;

    float newXPosition = _yourSprite.position.x + x;
    float newYPosition = _yourSprite.position.y + y;

    //Assign the values to your sprite
    _yourSprite.position = ...
}

尝试使用SKPhysicsJointLimit连接两个节点,其中第一个节点不可移动(可能不是动态的),将第二个节点的线性阻尼设置为零,并禁用其上的重力。 当然,它也不应与其他任何物体碰撞。当关节被拉伸到最大程度并且对两个物体之间的连接应用“垂直冲击”时,该物体应开始围绕另一个物体旋转。

我还没有测试过

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM