Box2D 新手入门顺阶教程 一、 HelloWorld 开始之前,我假想你已经看过了 HelloWorld 的源代码,并看了用户手册中关于 HelloWorld 的相关说明,而且已经大致明白了大多数内容
其实 HelloWorld 已经用极其简单的语言向你描述了 Box2D 物理引擎的运作机制,我们可以归纳一下步骤: 1、 建立一个世界,这个世界基于一个 b2AABB 框,并设立了一个 g 值和一个是否允许休眠的 bool型变量
2、 建立一个静态刚体地表,这里讲述了定义 Box2D 物理引擎中最为重要的一个东西——刚体的详细过程:首先是定义一个形状(可以是复合形状,这个在第二部分讲述),然后把形状通过 AddShape添加进刚体定义,创建这个刚体
3、 重复创建刚体这个过程,直至你没有需求了
4、 在你的循环中加入世界的更新函数
其实上面的步骤也是众多物理引擎甚至于其他引擎采用的方式
HelloWorld 教程是相当简单的,这个时候你甚至都不用去想世界是怎么运作的,你可以利用相关函数取得刚体的位置和旋转角度,然后在游戏的渲染部分去更新渲染你的角色对象
看完 HelloWorld,你可以不去想整个世界是怎样的,因为这个世界相对这时的你来说,确实是太复杂了,而你静下心来时,不妨回头看看我们用到的概念和数据类型,来温顾一下
概念 在这一个例子中有几个概念, 世界(b2World):世界就是一个环境,所有物理运算都在这个里面进行
形状定义(b2ShapeDef):形状定义是什么
说简单点形状定义就是定义你这个对象的样子,它用来做什么
就是用来确定你的碰撞
刚体定义(b2BodyDef):刚体定义就是设定刚体的初始具体,在目前来说,最大的功能就是把你定义好的形状加到你想到的刚体上
刚体(b2Body):刚体就是物理引擎里面的东西(对象),它可以受力的作用进行