Fork me on GitHub

(转载)Box2D世界坐标与舞台坐标之说

网上有不少弟兄在使用box2d做为物理引擎;自己也是最近才学。box2d的确是一个不错的2D物理引擎,无论是功能还是效率,可以说是把as3发挥到了及至,运行起来还是蛮流畅的。尽管学起来有点吃力(APE学起来比较容易,但是模拟出来的物理效果不好看,不能跟box2d相比,也没有box2d的功能强大),不过若是上手了就没那么难了;做起游戏来也是很容易的。

        刚开始学box2d时也费了好大劲,到现在还是有好多要学的;不过,总算上手了。刚开接触box2d,经常把引擎的世界坐标与flash的舞台坐标搞混。不知道是世界坐标还是舞台坐标,后来总算是明白了。真是汗呀!现在做个总结,望能够给初学的弟兄们一些帮助。

        在box2d引擎中,世界坐标其实等同与舞台坐标。你可以试一下,当你新建一个刚体,添加到坐标点(0,0)时,他其实被添加在了舞台的(0,0)点。有些刚接触box2d的兄弟也话被官方网站上的例子搞混了。不过不用管他。在box2.0.2的旧版本中,要手动设置物理世界的边界(初始化b2AABB类对象),不过,最新的版本中,世界边概念模糊了。默认在最大最理想的环境下所使用的边界。我们也不用再手动进行边界范围调整设置了,构造方法中也只有两个参数可进行设置。所以,以后就不用再考虑边界问题了,方便吧。添加到物理世界中的刚体坐标与舞台坐标等同就可以了;所以,不要被名目烦多的坐标系搞混了,不过有一点需注意,创建的刚体,注册点通常在刚体的中心位置上,所以,在添加到舞台中要按一半来算。

原文:http://hi.baidu.com/%D6%EE%B8%F0%CB%C9/blog/item/dd1131f08ce3f0cc7831aa20.html

posted on 2012-03-14 14:06  pengyingh  阅读(2190)  评论(0编辑  收藏  举报

导航