box2d物理引擎 BOX2D不能在碰撞检测的类里面销毁刚体的fixture吗?
BOX2D不能在碰撞检测的类里面销毁刚体的fixture吗?
你好,我来回答你:虽然这是一个很老的问题,但有些人仍然很困扰。是的,在碰撞过程中删除刚体是不可能的。原因是在碰撞的初始阶段,box2d将存储彼此接触的AABB对象,并将它们放入数组或列表中。如果在这个时候删除它们,是非常危险的,而且在这个时候直接崩溃是不可避免的,最好使用切换模式。首先,将过滤器更改为0,否则无法碰撞,然后使用过滤器0统一处理所有对象并将其移除。如果我的回答对你没有帮助,请继续问。
cocos2d和box2d2者有什么区别?
Cocos2d和box2d是完全不同的东西。Cocos2d是一个开源的框架,可以构建2D环境。有ccscene,cclayer,ccsprite等概念。它可以用来建立一个良好的二维环境。Box2d是一个物理引擎,它模拟真实的物理环境。它有重力、加速度、摩擦力和刚体能量的概念。在这种环境下,只要定义了相应的刚体和重力、摩擦力等外部环境,它们就可以自行处理碰撞。因为box2d只是一个物理引擎,所以可以在很多地方使用,比如flash、IOS开发、窗口开发等等。Cocos2d是用Objective-C编写的,现在只能在Apple开发中使用。如果要在其他环境中使用cocos2d,则需要使用cocos2d-x。由于box2d只是一个物理引擎,因此不可能构建场景。因此,在IOS开发中,如果要创建box2d项目,还必须构建场景。因此,该项目还向您添加了cocos2d库。
Box2D怎么用?
Box2d不是一个开发环境,而是一个物理引擎。您需要在特定的开发环境中引入这些类库,然后可以使用这些类库来实现重力和摩擦力的效果。Box2d是跨平台的。我知道box2d用于windows的VC、flash和cocos2d-x。我主要在MAC的cocos2d中使用box2d。
希望对您有所帮助。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。