1、创建一个静态物体
创建一个静态物体应该很简单,在头文件生命一下要创建新物体的函数,然后在cpp文件中实现它即可。
具体的时候先过程,首先要用createbody函数创建一个物体,然后定义一个b2bodydef变量,指定一下这个变量的type还有position。这样的话一个最简单的静态物体就算是创建好了。
2、物体的相互作用
但是我们虽然创建了两个物体但是在运行的时候发现依然没有看到静止的物体挡住了动态运动的物体,这就是两个物体并没有发生相互作用。
为了让两个物体发生相互作用,我们要设置一个fixture
2. Body:
Box2d 中的 Body 没有形状大小,不能碰撞,只具备质量(由 Fixture 的 shape 和 density 决定)、速度、位置这几个基本属性;
Body 可以接收力和冲量的作用;
可以附着 Fixture ,附着后才具备形状大小,可以碰撞反弹
Body 有 3 种:
static: 没有速度,不接受力和冲量的作用;
dynamic: 有速度,可以接受力和冲量的作用;
kinematic: 有速度,不接受力和冲量的作用。与 dynamic 碰撞不会改变原速度,与 static 碰撞不会有反应
创建 Body:
b2BodyDef myBodyDef;
myBodyDef.type = b2_dynamicBody;
myBodyDef.position.Set(0, 20