вращение объекта c ++ Box2d с помощью мыши - PullRequest
0 голосов
/ 08 декабря 2018

Я более свеж в box2d, я работаю над архивной игрой в c ++ box2d.Теперь я хочу сделать вращение пушки с помощью мыши.пожалуйста, дайте мне правильный код.

cannonShape.SetAsBox (2, 0,7);b2FixtureDef cannonFixture; enter code here cannonFixture.shape = & cannonShape;

cannonBodyDef.type= b2_dynamicBody;
cannonBodyDef.userData=cannon;
cannonBodyDef.fixedRotation=true;
cannonBodyDef.position.Set(cannon->getPosition().x/SCALE_RATIO,cannon->getPosition().y/SCALE_RATIO);
cannonBody = world->CreateBody(&cannonBodyDef);
cannonBody->CreateFixture(&cannonFixture);
cannonBody->SetGravityScale(0.0f);

cannonFixture.userData = this;


wheelbodyShape.m_radius = 32 / SCALE_RATIO;
b2FixtureDef wheelFixture;
wheelFixture.shape=&wheelbodyShape;
wheelBodyDef.type= b2_dynamicBody;
wheelBodyDef.userData=wheel;
wheelBodyDef.fixedRotation=true;
wheelBodyDef.position.Set(wheel->getPosition().x/SCALE_RATIO,wheel->getPosition().y/SCALE_RATIO);
wheelBody = world->CreateBody(&wheelBodyDef);
wheelBody->CreateFixture(&wheelFixture);
wheelBody->SetGravityScale(0.0f);
wheelFixture.userData = this;


world->SetContactListener(this);


b2RevoluteJointDef rearWheelRevoluteJointDef;
rearWheelRevoluteJointDef.enableMotor = true;
rearWheelRevoluteJointDef.Initialize(cannonBody, wheelBody, cannonBody->GetWorldCenter());
_rearTireRevoluteJoint = (b2RevoluteJoint*)world->CreateJoint(&rearWheelRevoluteJointDef);
...