我正在 box2d 中创建物理身体,如下所示,这是我的代码
I am creating the physical body in box2d as below , this si my code
b2BodyDef carBodyDef;
carBodyDef.position.Set(x/PTM_RATIO,y/PTM_RATIO);
carBodyDef.type=b2_dynamicBody; b2Body* carBody=physicsWorld->CreateBody(&carBodyDef);
b2CircleShape carShape;
carShape.m_radius=rad/40.0f;
b2FixtureDef carFixture;
carFixture.shape=&carShape;
carFixture.density = 1.0f;
carFixture.friction = 0.0f;
carBody->CreateFixture(&carFixture);
return carBody ;
当我运行应用程序时,它会崩溃,有以下错误*断言失败:(IsLocked() == false),函数 CreateBody,*in box2d
When am running the app, its getting crash , with the below erro *Assertion failed: (IsLocked() == false), function CreateBody,*in box2d
那是因为你在执行 b2World
的 Step()
函数时创建了你的 body.执行此函数时无法创建新实体
That's because you are creating your body during execution of Step()
function of b2World
. You can't create new bodies while this function is executing
上一篇:如何从自另一类的listBox1_SelectedIndexChanged事件的价值?另一类、价值、事件、listBox1_SelectedIndexChanged
下一篇:如何使自定义DataGridViewComboBox只依赖于它的DataGridViewComboBoxColumn?它的、自定义、依赖于、DataGridViewComboBoxColumn