box2d

1.世界b2World

  一个物理世界,物理世界就 是物体,形状和约束相互作用的集合,Box2D允许在同一个程序中创建多个世界

2.物体b2Body

  物体也可以称之为刚体,一块十分坚硬的物质,它上面的任何两点之间的距离都是完全不变的。

3.夹具b2Fixture

  夹具,一种用于把形状附加到物体之上的关系,利用形状创建夹具,在把夹具居家到物体之上,从而使得物体拥有碰撞的能力。

4.形状b2Shape

  物体的形状,一块严格依附于物体body的2d碰撞几何结构形状具有摩擦和恢复的材料性质

5.约束constraint

  一个约束就是消除物体自由度的物理连接,在2d中,一个物体有3个自由度。如果把一个物体定在墙上那他就约束到了墙上这样此物体就只能绕这个钉子旋转,所以这个约束消除了他2个自由度

6.关节b2join

  关节是一种用于把两个或多个物体供电到一起的约束,box2d支持的关节类型有,旋转,棱柱,距离等。关节可以支持限制和电机

7.关节限制joint limit

  一个关节限制限定了一个关节的运动范围。例如,人类的胳膊肘只能做某一个范围角度的运动

8.关节电机joint motor

  一个关节电机能依照关节的自由度来驱动所连接的物体,例如,可以使用一个电机来驱动一个轴的旋转

在box2d中一个物体通常由以下步骤来创建

1.使用位置position 阻尼damping 等定义一个物体

2.使用世界对象创建物体

3.使用几何结构,摩擦,密度等定义形状

4.在物体上创建形状

5.可选地调整物体的质量以和附加的形状相匹配。

时间: 2024-08-12 00:24:17

box2d的相关文章

cocos2dx box2d使用(一)

出处:https://www.evernote.com/shard/s262/sh/bf561bda-0458-4502-835b-903846f81d68/68e6634bddec74c5a2d5f8dd839eba0a 本例子使用的是cocos2d-x 3.0版本 首先创建一个cocos2d的c++工程,这里就不多做说明了!本例子的项目名称是MyGame 其次,在MyGame的工程设置里Build Settings下,把CC_ENABLE_CHIPMUNK_INTEGRATION=1改为CC

Visual Studio 2012下Box2D开发环境设置

Cocos2d-x 3.x默认情况下采用的物理引擎是Chipmunk,如果我们要使用Box2D引擎,需要进行一些设置和调整,而且不同的开发平台下这些设置也有所不同.由于本书在此之前介绍的都是基于微软的Visual Studio 2012下开发的Win32平台,所以这一节我们介绍Visual Studio 2012下Box2D开发环境设置.这些需要设置和调整的方面包括如下:在解决方案中添加libBox2D库工程.添加libBox2D库引用.开启Box2D预编译开关. 1.在解决方案中添加libBo

cocos2d-x之Box2d初试

物理引擎:用来模拟一套物理事件的物理代码. #ifndef __HELLOWORLD_SCENE_H__ #define __HELLOWORLD_SCENE_H__ #include "cocos2d.h" #include <Box2D/Box2D.h> #define RATIO 80.0f class HelloWorld : public cocos2d::Layer,public b2ContactListener { private: b2World *wor

《割绳子》《蜡笔物理学》《Contre Jour》《顽皮鳄鱼爱洗澡》等游戏用Box2D引擎实现物理部分的方法(转)

从最热门游戏排行榜和flash游戏网站上,你能看到什么?许多2D游戏都有非常出色的物理学和美术设计.现在我们要学习那些游戏使用了什么物理学以及如何用Box2D制作它们. 除了知道是“什么”,更重要的是知道“如何做”,首先,我想问读者一个问题:如果你想复制物理游戏的机制或行为,你需要什么技术和方法? 一年以前,我问了自己同样的问题,<6 Dimensions>就是问题的答案.这款游戏是一个创意的盒子,每一面都包含一组使用Box2D物理学再加上视觉美学技术制作的不同的游戏机制.在此,我将与大家分享

Box2D物理引擎模拟炸弹爆炸效果

今天咱们来模拟炸弹效果.于是问题一来了:"为什么要模仿这么暴力的效果呢?莫非几日不见,Yorhom人品煞变?" 其实玩过愤怒的小鸟的同学都应该对这种效果似曾相识,因为据非官方报道,第二厉害的小鸟--黑色鸟的特技就是自爆.问题二出现了:"那第一厉害的小鸟是哪一种呢?"据Yorhom我本人测试,那只红色大鸟应该是最厉害的,不过貌似没有特技?愤怒的小鸟这种肤浅的游戏,Y某我最擅长了,以后有时间会专门写写这个游戏的攻略.这两种鸟的靓照如下: 敷衍了问问题二的同学,问题三就来

Box2D淌坑日记: 关节(Joint)和旋转关节(b2RevoluteJoint)

关节在Box2D的对象组织结构中,与b2Body(刚体)并列.因此两种对象都是由b2World创建并直接管理. 然而Joint有依赖于b2Body的地方,就是它的销毁:当关节所涉及到的刚体被销毁,关节也会被销毁.此时再访问关节指针,将得到一个错误,因此,在销毁body的时候应该遍历其涉及到的Joint并销毁之. 除此之外,可算是并列于b2Body的b2World另一大组成成分.我们就得到了这么一个物理世界:有一堆刚体,也有一堆关节.这一堆刚体根据物理定律运行,这一堆关节限制或驱动某些刚体的运动.

Libgdx Box2D实战---放开那小球(三:规则常用的body和精灵结合)

上一篇文章我介绍了box2D的基本知识,如果你用心的话,你会搜索网上相关简单demo吧.那些我就不写了.那么如果我用图片表示我的那个body,而不是简单线条,那该怎么办? 下面,我以我的项目中小球对象生成为例,介绍精灵和body如何结合: 下面是创建一个小球类,重要的都注释了: public class Ball { private static final float BALL_RADIUS = 0.15f;// 球半径 private final Random rand = new Rand

Libgdx Box2D实战---放开那小球(二:Box2D介绍)

 Box2D官网 : http://box2d.org/ Box2D v2.1.0用户手册翻译 : http://blog.csdn.net/complex_ok/article/category/871440 Libgdx使用jni封装了box2d的c++版本,使得其运行效率比其他同级的物理引擎如jbox2d快不少. 一.基础类 BodyDef  A body definition holds all the data needed to construct a rigid body. Y

实例介绍Cocos2d-x中Box2D物理引擎:HelloBox2D

我们通过一个实例介绍一下,在Cocos2d-x 3.x中使用Box2D物理引擎的开发过程,熟悉这些API的使用.这个实例运行后的场景如图所示,当场景启动后,玩家可以触摸点击屏幕,每次触摸时候,就会在触摸点生成一个新的精灵,精灵的运行自由落体运动. HelloBox2D实例 使用Box2D引擎进行开发过程,如图12-15所示.下面我们就按照这个步骤介绍一下代码部分.首先看一下看HelloWorldScene.h文件,它的代码如下: [html] view plaincopy #ifndef __H

Cocos2d-x 3.1.1 学习日志10--一进来你就知道了Box2D了

error LNK2019: 无法解析的外部符号 "public: __thiscall b2Draw::b2Draw(void)" ([email protected]@[email protected]),该符号在函数 "public: __thiscall GLESDebugDraw::GLESDebugDraw(float)" ([email protected]@[email protected]@Z) 中被引用 _thiscall b2World::~b