Tag Archives: Box2D

Box2D静态刚体旋转

这是2010年4月15号在茶馆儿发的一篇日志,现在被找回来了,在博客里存档一下。 如标题,在没遇到这个问题之前通常是用转轴把刚体固定在某一点,然后利用扭矩来实现刚体旋转,但使用转轴的问题在于,如果一个动态刚体掉落过程中撞到这个利用转轴转动的刚体时,这个刚体会发生微小的转动,虽然这属于正常的物理特性,但对于某些游戏来说对体验的影响还是不小的,Google了N多资料,试过N多种方法,最终给Box2d的源文件加入了个自定义方法,但总算是把问题解决了。

基于Box2DFlash的碰撞检测管理

去年的这个时候写过一篇关于Box2D的碰撞检测实现《Box2D中使用b2ContactListener进行碰撞检测》,虽然简单,但在需要检测大量碰撞的时候,所有需要在碰撞时触发的事件都要写到那一个继承自b2ContactListener的类中未免显得杂乱,不易管理,如果能把刚体的碰撞处理分开写到各自的UserData类中看起来就好多了。

Box2D中使用b2ContactListener进行碰撞检测

重发此日志原因:晚上吃完饭,发现博客竟然无法访问,页面显示因为包含服务器不允许出现的字眼,英文叫listener,原来是松子为了让服务器更合谐,在服务器上安装了他自己的“墙”,看来本博从今天起,要在两层墙下生存了。修正了本日志不合谐字眼重发之。 最近在尝试做一个flash小游戏,并使用Box2D(打开可能需要代理)来实现游戏中的一些物理特性,Box2d的flash没有提供手册,在实现两个物体的碰撞检测时走了不少弯路,在这记录下检测方法。 b2ContactListener是Box2d里的一个抽象类,官方解释如下: 通过实现 b2ContactListener 你就可以接受接触数据。当一个触点被创建时,当它持续超过一个时间步时,以及当它被摧毁时,这个listener就会发出报告。 首先需要写一个继承自b2ContactListener的类,如下: