世界代表了一个遵守蓝紫物理定律的空间。世界的定义结构如下(在Box2D/Dynamics/b2World.h里面):
class b2World { public: /// 初始化函数. b2World(const b2Vec2& gravity); /// 析构函数,所有的物理对象被销毁,所有的内存被释放 ~b2World(); /// 注册一个碰撞检测之前的过滤器 void SetContactFilter(b2ContactFilter* filter); /// 注册一个碰撞检测事件的监听器 void SetContactListener(b2ContactListener* listener); ... /// 创建一个刚体 b2Body* CreateBody(const b2BodyDef* def); /// 销毁一个刚体 void DestroyBody(b2Body* body); /// 创建一个链接 b2Joint* CreateJoint(const b2JointDef* def); /// 销毁一个链接 void DestroyJoint(b2Joint* joint); .... /// 获取刚体列表 b2Body* GetBodyList(); const b2Body* GetBodyList() const; /// 获取链接列表 b2Joint* GetJointList(); const b2Joint* GetJointList() const; /// 获取碰撞检测列表 b2Contact* GetContactList(); const b2Contact* GetContactList() const; ... ///设置重力向量 void SetGravity(const b2Vec2& gravity); ///获取重力向量 b2Vec2 GetGravity() const; ///获取世界是否被锁定 bool IsLocked() const; ... ... ... }
创建世界时需要完成两个步骤,一是生成一个重力向量,二是根据重力向量生成世界对象,示例代码如下:
//生成一个重力向量 b2Vec2 gravity; gravity.Set(0.0f,-10.0f); //根据重力向量生成世界对象 b2World *world=new b2World(gravity,true);
版权信息:原创文章: 咸蛋博客本文标题: 物理引擎Box2D之世界本文链接: http://xiandanboke.com.cn/?p=799转载请注明转自 咸蛋博客
2177

被折叠的 条评论
为什么被折叠?



