将CCSprite移动到另一个CCSprite Circle Shape周围

时间:2014-07-15 09:48:20

标签: xcode cocos2d-iphone

我想要完成的是:

enter image description here

我们有CCSprite Circle A和CCSprite Circle B.

围绕圆圈A移动圆圈B.我已经尝试创建CCNode并将圆圈B附加到它。在这种情况下,它完美地工作但位置也是恒定的。我需要围绕A移动圆圈并更新位置。我将在屏幕上有更多的对象,我将检查B是否与其他一些对象相交,但在这种情况下,我需要在旋转时更新位置。非常感谢你们的帮助。我正在使用Cocos2D v3.0

2 个答案:

答案 0 :(得分:0)

也许是这样的?把它放在你的更新方法中。我在我的box2d项目中使用此代码进行轨道运行。根据您的需要进行更改。

    b2Vec2 center = bodyA->GetPosition();
    int smoothness = 1000;
    int radius = 100;

    for (int i = 0; i < smoothness; i++) {
        float angle = (i / smoothness) * 360 * DEGTORAD;

        b2Vec2 pos( sinf(angle), cosf(angle));
        b2Vec2 newposition = center + radius * pos;

        bodyB->SetTransform(newposition, bodyB->GetAngle());

 }

答案 1 :(得分:0)

将B的锚点放在A的锚点位置,然后在动画中将B旋转360°。