Box2dFlash应用坑——刚体始终锁定旋转角度

来源:互联网 发布:淘宝无需物流怎么设置 编辑:程序博客网 时间:2024/05/17 22:28

Box2dFlash应用坑——刚体始终锁定旋转角度

标签(空格分隔): Box2d


刚开始接触Box2d,遇到了一个问题:模拟自由落体运动时,物体跌落后多数情况下会发生自身旋转,但是却是这样的:
这里写图片描述
发现这个问题后感觉参数设置可能和官方的Demo不同,于是做了如下尝试:

  • 查看fixedRotation是不是被设置为了true;
  • 查看angle是不是被改写了;
  • 修改angle的角度;
  • 核对world信息的设置;
  • 核对构造刚体的代码;

以上努力都没有结果。

因为这个box2d世界中的刚体是根据配置文件生成的,配置文件和读取配置文件的代码都没有经过完整测试,所以需要排除可能存在都错误。
接下来让世界中对刚体一部分从配置文件构造另一部分采用了Demo中的代码,发现从配置文件中生成的仍然存在问题,而Demo代码构造出的是好的。
这样排除了world的问题,可以确定问题出在配置信息和根据配置信息构造刚体的功能中。在完全采用了和Demo一样带构造途径后,问题仍然存在,但配置参数已经检查过多次,没有发现错误,问题卡住没有任何进展了。期间怀疑过b2Fixture不同的产生方法的异同,担心没有做中心(中心和重心混淆了)设置,后来发现多虑了。

最后问题的解决得益于查询box2d重心的设置,但是Demo中的代码并没有做重心设置,为什么和我的效果不同呢?这时一个被忽略的参数引起了注意:密度。经过检查虽然密度设置不为0,但是读取配置信息过程中出现了错误,实际中该参数一直是0。修改完这个bug,问题就不存在了。

0 0
原创粉丝点击