我正在 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
这篇关于在 cocos2d 中创建物理体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!