cocos2dx 3.x之后将物理引擎封装了,默认的是chipmunk.如果希望用Box2d做开发的的话,在vs2012中需要进行设置,详细的参考http://blog.csdn.net/tonny_guan/article/details/39859577
cocos2dx3.1.1中physics中碰撞会有穿透的问题。我在写一个小球相碰的时候,setVelocity我在设置body的速度过大的时候,会发现穿透的问题。查了很久,才发现这个版本的cocos2dx没法解决,在3.3之后,穿透问题好像解决了。如果你将边界的厚度设置大一点,速度相对低一点,就会穿透不了。
auto body_edge = PhysicsBody::createEdgeBox(visibleSize,PhysicsMaterial(0.5f,1.0f,0.5f),8.2f)。我将边界的厚度设置为8.2f,默认的厚度是1.0f。在同样高速度的情况下,穿透的几率变小。
scene->getPhysicsWorld()->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL)这句的作用的是在调试的模式下,会发现body都是红色的sharp.我一直忘了这句话。
原文链接:/cocos2dx/345832.html