- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Box2Dv2.1.0用户手册中文翻译增加libgdx中box2d使用批注
原文地址:/complex_ok/article/category/871440
网上已经有个Box2D用户手册的翻译,但是基于v2.0.1,跟最新手册有很多不对应。
在这里决定将文档的全文再翻译出来,更准确的说是根据网上流传的v2.0.1版本,将最新文档重新整理一遍。
很多内容是直接复制自
Box2D v2.0.1 用户手册
原文:Box2D v2.0.2 User Manual
译者:Aman JIANG(江超宇)
Box2D v2.1.0 用户手册
版权 ? 2007-2010 Erin Catto
第01章 导言(Introduction)
1.1 关于
Box2D是个二维刚体仿真库, 用于编写游戏。程序员可以使用它, 让游戏中的物体运动起来更真实, 让游戏世界更具交互性。以游戏的角度来看,物理引擎只是个程序性动画系统。(procedural animation)
(译注: 做动画常有两种方法, 一种是预先准备好动画所需的数据,比如图片,再一帧一帧地播放。另一种是以一定方法,动态计算出动画所需的数据,根据数据再进行绘图。 从这种角度看,预先准备的,可称为数据性动画,动态计算的可称为程序性动画。这个区别,就类似以前我们做历史题和数学题,做历史题,记忆很重要,也就是答案需要预先准备好的。做数学题,方法就很重要,答案是需要用方法推导出来的。 Box2D就是用物理学的方法,推导出那游戏世界物体的位置,角度等数据。而Box2D也仅仅推导出数据,至于得到数据之后怎么处理就是程序员自己的事情了。)
Box2D用可移植的C++来写成,它定义的大部分类型都有b2前缀, 希望这能有效消除Box2D和你自己的游戏引擎之间的名字冲突。
1.2 先备条件(Prerequisites)
在此手册中,我假定你已经熟悉了基本的物理概念,比如质量(mass),力(force),扭矩(torque)和冲量(impulses)。如果没有, 建议读一下Chris Hecker和David Baraff (google 这些名字)的教程, 你不需要理解得非常细致, 只需很好地了解一些基本概念, 帮助你使用Box2D。
Wikipedia也是个很好的地方,去获取物理和数学知识。Wikipedia的内容经过了精心的整理,在某些方面可能比google更有用。
在Game Developer Conference上, Box2D是作为物理教程的一部分而创建的。你可以从的下载区得到这些教程。
Box2D是使用C++写成的, 因此也假定你具备C++编程经验。Box2D不应该是你的第一个C++程序项目。你应该能熟练地编译,链接和调试。
注意
Box2D不应该是你的第一个C++项目。在使用Box2D之前, 请先学习C++程序设计, 还要学习怎么去编译, 连接和调试。网上有很多这方面的资料。
1.3 关于本手册
本手册涵盖了大多数Box2D的API,但并非每个方面都涉及到。Box2D自带了testbed例子, 鼓励你去看看, 以便了解更多。另外, Box2D的代码注释已被整理过, 符合Doxygen程序的格式要求, 所以很容易就可以创建一个有超链接的API文档。
1.4 反馈及错误报告
如果你想反馈Box2D的任何内容,请在论坛里留下意见。这也是个交流讨论的好去处。
Box2D使用了Google code project进行问题跟踪。这是个跟踪问题的好方法, 保证你的反馈不会被淹没在论坛深处而无人理会。
反馈地址: /p/box2d/
你的问题描述得越详细, 就越有可能得到修复。假如有个测试例子将问题重现, 就更好了。
1.5 核心概念(Core Concepts)
Box2D中有一些基本对象, 这里我们先做一个简要的定义, 随后的文档会有更详细的描述。
形状(shape)
2D几何对象, 比如圆形(circle)或多边形(polygon)。
刚体(rigid body)
十分坚硬的物质, 坚硬得像钻石,它上面任意两点之间的距离都保持不变。在后面的讨论中,我们用物体(body)来代替刚体。
夹具(fixture)
fixture将形状绑定到物体之上, 并有一定的材质属性, 比如密度(density), 摩擦(friction)和恢复(restitution)。
(译注:一个物体和另一物体碰撞, 碰撞后速度和碰撞前速度的比值会保持不变,这比值就叫恢复系数。)
约束(constraint)
约束是个物理连接, 用于消除物体的自由度。在2D中, 物体有3个自由度(水平,垂直,旋转)。如果我们把一个物体钉在墙上(像钟摆那样), 那就把它约束到了墙上。这个时候,此物体就只能绕着钉子旋转, 所以这个约束消除了它2个自由度。
(译注:简单的说, 需要用几个参数来确定物体的空间状态,
文档评论(0)