box2d 模拟真实世界的物体碰撞 类似愤怒的小鸟
2013-12-14 10:58
483 查看
1box2d
Box2D是一个用于模拟2D刚体物体的C++引擎。作者为Erin Catto。Box2D使用zlib许可。zlib许可是一个自由软件授权协议,但并非copyleft。它已被用于蜡笔物理学、愤怒的小鸟、Rolando、Fantastic
Contraption、Incredibots、Tiny Wings、Transformice、Happy Wheels等游戏的开发,[3]对于iPhone、iPad和Android游戏,可以使用Cocos2d游戏引擎和Corona Framework。[1]
2box2d安装
由于box2d应用了cmake,所以要先下载安装cmake box2d的最新版
可在下面网址下载。
vs可选择vs2010专业版
打开cmake,在where is source code 选择box2d解压后的文件夹,不是里面的box2d文件夹,
在where to build the binaries 选择/Box2D_v(版本)/Build
点configure选择vs版本,然后运行,没有出错就行(指的是没有最后没生成box2d.sln,可以看按钮下面有 没有红色的提示),然后再按 generate,那么在build里面就可生成box2d.sln,
没有的话就是出错,照上面看看where is source code选择的文件夹有没有错。
打开box2d.sln,选择testbed或者helloworld为你的启动项目,在选择release,可生成testbed。
如果还遇到错误,那就登陆作者的论坛去看看别人发的贴子有没有你的错误,网页可翻译后在看
这个只是用来box2d的测试,了解一些box2d的工作原理,并不是box2d库的的一部分
box2d是由freeglut和glui***的。
3基本用法
-Testbed 设置(linux, windows, mac)-Testbed 结构
-为testbed创建一个‘test’
-物体(Bodies)
-定制器(Fixtures)
-World设置
-自定义重力(Custom gravity)
-力与冲量(Forces and impulses)
-匀速运动(Moving at constant speed)
-让物体按指定角度旋转(Keeping a body rotated at given angle)
-跳跃(Jumping)
-使用debug draw
-画自己的物体(Drawing your own objects)
-User data
-碰撞剖析(Anatomy of a collision)
-碰撞回调(Collision callbacks)
-碰撞过滤(Collision filtering)
-传感器(Sensors)
-射线投射(Raycasting)
-查询World(World querying)
-移除物体(Removing bodies)
-“触地”问题(The ‘touching the ground’question)
-连接器(Joints)
-一些陷阱(Some gotchas)[2]
4高级话题
-车辆悬浮(Vehicle suspension)-黏性弹力(Sticky projectiles)
-飞行轨迹(Projected trajectory)
-爆炸(Explosions)
-易碎物体(Breakable bodies)
-自上而下汽车物理(Top-down car physics)
-地形(Terrain)
-单面墙和平台(One-way walls and platforms)
-传送带(Conveyor belts)
-自动扶梯?(Escalators?)
-电梯(Elevators)
-飞箭(Arrow in flight)
-高级运动特性(Advanced character movement)
相关文章推荐
- cocs2d-x 学习例子 box2d 实现类似愤怒的小鸟的简单参考例子
- iOS动画中的物理知识应用之愤怒的小鸟-碰撞检测
- 类似愤怒小鸟的星球引力效果
- 单位真实世界LibGdx--Box2d单位换算Strut2教程-java教程
- 模拟真实物体运动的js动画库插件-Anima
- 从模拟真实世界中理解软件设计原则
- 论坛源码推荐(3月12日):使用UIDynamic API模拟真实世界中的多个效果
- 从模拟真实世界中理解软件设计原则
- OpenAI探索机器人模拟训练新方法:仿真与真实世界无缝衔接
- 基于Cocos2dx + box2d 愤怒的小鸟的实现Demo
- 原生js实现鼠标点击效果(不是真实鼠标点击,用js模拟鼠标点击,类似jquery trigger效果)
- 从模拟真实世界中理解软件设计原则
- Unity 模拟爆炸后的物体碰撞
- Box2D 物理引擎---创建一个简单的模拟物理世界
- 物理引擎Box2D-- 愤怒的小鸟
- Cocos2d-x之物理世界(物体之间的碰撞)
- 在box2d世界中创建物体的几个必须步骤
- iOS开发概述UIkit动力学,讲述UIKit的Dynamic特性,UIkit动力学是UIkit框架中模拟真实世界的一些特性。
- 基于Cocos2dx + box2d 实现的愤怒的小鸟Demo
- OpenAI探索机器人模拟训练新方法:仿真与真实世界无缝衔接