Cocos2d iphone 围绕点旋转的实体Box2D Cocos2d

Cocos2d iphone 围绕点旋转的实体Box2D Cocos2d,cocos2d-iphone,rotation,box2d,point,Cocos2d Iphone,Rotation,Box2d,Point,我有一个问题,当旋转一个三角形图像像雷达探测敌人 b2Body *body; CCSprite *actor; if (b->GetType() == b2_kinematicBody && myActor == [loader spriteWithUniqueName:@"radar."]){ radar = b; radarSprite = myActor; } 这是一个由LevelHelper创建的运动学实体,我想旋转

我有一个问题,当旋转一个三角形图像像雷达探测敌人

b2Body *body;
CCSprite *actor;



if (b->GetType() == b2_kinematicBody && myActor == [loader spriteWithUniqueName:@"radar."]){

        radar = b;
        radarSprite = myActor;
    }
这是一个由LevelHelper创建的运动学实体,我想旋转它。所以我需要它围绕一个静态点旋转,然后向后重复这个动作。因为它是一个身体而不是一个精灵,我不知道如何使它围绕顶点旋转

我有个主意,但我不确定。 如果我旋转CCSprite并将身体移动到sprite.position会怎么样?可能吗


非常感谢

以下是我如何根据box2d实体的精灵更新其位置和旋转:

// Box2d updates.
// We set position of b2Bodies according to their sprites.
_world->Step(delta, 10, 10);
for(b2Body *b = _world->GetBodyList(); b; b=b->GetNext())
{
    if (b->GetUserData() != NULL)
    {
        GameObject *sprite = (GameObject *)b->GetUserData();
        b2Vec2 b2Position = b2Vec2(sprite.position.x/PTM_RATIO,
                                   sprite.position.y/PTM_RATIO);

        float32 b2Angle = -1 * CC_DEGREES_TO_RADIANS(sprite.rotation);
        b->SetTransform(b2Position, b2Angle);
    }
}

我想这就是我想要的。我想试试,但我想它会管用的!非常感谢你