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