[英]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.