本文介绍了在 cocos2d 中创建物理体的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!
问题描述
我正在 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 中创建物理体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!
本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!