cocos2dx 3.1.1physics中的疑问

本文探讨了在使用 cocos2dx3.x 版本时,如何通过调整物理引擎参数来解决碰撞穿透问题,并提供了解决方案和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

cocos2dx 3.x之后将物理引擎封装了,默认的是chipmunk.如果希望用box2d做开发的的话,在vs2012中需要进行设置,详细的参考http://blog.youkuaiyun.com/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.我一直忘了这句话。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值