《Box2D物理游戏编程初学者指南》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:陈文登编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2015
  • ISBN:9787030434340
  • 页数:320 页
图书介绍:本书从初学者的角度,循序渐进的讲解了Box2D基本应用的创建方法,刚体的创建、贴图、销毁过程,以及刚体的交互处理,基于Box2D的碰撞处理方法,各类关节和控制器的概念和用法,另外还讲解了两个物理游戏示例,以及手机中Box2D物理应用的实现方法。

第1章 认识Box2D世界 2

1.1 什么是Box2D引擎 2

1.2 创建Box2D世界 2

1.2.1 重力 3

1.2.2 创建世界 4

1.3 开启Box2D模拟 5

1.4 小结 9

第2章 认识刚体 10

2.1 什么是刚体 10

2.2 创建刚体 11

2.3 认识刚体形状 18

2.3.1 圆形 18

2.3.2 矩形 18

2.4 b2DebugDraw调试视图 21

2.5 小结 26

第3章 刚体属性详解 27

3.1 b2BodyDef 27

3.1.1 状态类属性 29

3.1.2 角度、角速度类属性 31

3.1.3 坐标、速度类属性 35

3.1.4 其他属性 37

3.2 b2FixtureDef 41

3.2.1 物质特性类属性 42

3.2.2 碰撞属性 44

3.2.3 形状 49

3.2.4 其他属性 59

3.3 小结 59

第4章 刚体操作 62

4.1 LDEasyBox2D工具包 62

4.2 CreateFixture 65

4.3 CreateFixture2 69

4.4 DestroyFixture 70

4.5 ApplyForce 73

4.6 Applylmpulse 78

4.7 ApplyTorque 81

4.8 GetLocalXXX、GetWorldXXX 84

4.9 GetMass 87

4.10 SetMassData 89

4.11 Split 93

4.12 GetAABB 96

4.13 QueryAABB 101

4.14 QueryShape 107

4.15 RayCast 114

4.16 小结 123

第5章 碰撞处理 124

5.1 认识碰撞 124

5.2 b2Contact 127

5.2.1 GetFixtureA()和GetFixtureB() 127

5.2.2 GetManiFold() 129

5.2.3 GetWorldManifold() 131

5.2.4 isTouching() 132

5.2.5 SetEnabled()和IsEnabled() 132

5.2.6 SetSensor()和IsSensor() 134

5.2.7 SetFriction() 134

5.2.8 SetRestitution() 135

5.2.9 SetTangentSpeed() 136

5.3 b2ContactListener碰撞侦听器 137

5.4 游戏中的碰撞处理 141

5.4.1 万有引力 141

5.4.2 小鸟冲量 146

5.4.3 单边平台 151

5.4.4 碰撞粘贴 162

5.5 小结 172

第6章 关节 174

6.1 认识Box2D关节 174

6.2 b2MouseJoint鼠标关节 178

6.3 b2PrismaticJoint位移关节 185

6.4 b2LineJoint线段关节 191

6.5 b2RevoluteJoint旋转关节 192

6.6 b2DistanceJoint距离关节 198

6.7 b2WeldJoint粘贴关节 201

6.8 b2PulleyJoint滑轮关节 204

6.9 b2FrictionJoint摩擦关节 208

6.10 b2GearJoint齿轮关节 211

6.11 b2WheelJoint中轴关节 215

6.12 b2RopeJoint绳索关节 221

6.13 b2MotorJoint马达关节 226

6.14 综合示例 230

6.15 小结 232

第7章 Box2D工具 233

7.1 PhysicsEditor 233

7.2 RUBE 245

7.3 b2Separator 256

7.4 小结 260

第8章 游戏中的Box2D应用 261

8.1 柔体 261

8.1.1 知识点 261

8.1.2 简单的柔体 261

8.1.3 柔体库LiquidFun 265

8.2 浮力 267

8.2.1 知识点 267

8.2.2 水的浮力 268

8.2.3 水的阻力 275

8.3 刚体切割 279

8.3.1 知识点 280

8.3.2 切割的实现 280

8.4 关节碰撞 288

8.4.1 知识点 289

8.4.2 关节的碰撞与折弯 289

8.4.3 回摆的处理 295

8.4.4 游戏交互 306

8.4.5 完美的绳索 311

8.5 小结 312

附录 向量运算 313

A.1 Box2D中的向量 313

A.2 AddW 313

A.3 SubtractW 314

A.4 Normalize 314

A.5 NegativeSelf 314

A.6 Distance 315

A.7 Mul 315

A.7.1 MulFV 315

A.7.2 MulQV 316

A.7.3 MulMV 316

A.7.4 MulX 317

A.8 Cross 318

A.8.1 CrossW 318

A.8.2 CrossFV 319

A.8.3 CrossVF 319

A.9 Dot 320