LBox2d Class
Library:lufylegend.LBox2d-x.x.x.min.js
在lufylegend库件里使用box2dweb。
下面是几篇相关的文章。
HTML5游戏开发-Box2dWeb应用(一)-创建各种各样的刚体
Constructor
LBox2d
-
gravity
-
doSleep
-
drawScale
Parameters:
-
gravity
Array世界重力向量(例:[0,9.8]),可省略。
-
doSleep
Boolean物体是否可休眠,可省略。
-
drawScale
Float缩放比例,可省略。
Item Index
Methods
Properties
Methods
setDistanceJoint
-
b2BodyDefA
-
b2BodyDefB
给两个物体添加距离关节。
距离关节是一个最简单的关节,它约束了两个物体之间的距离,两个物体之间的距离关节一旦建立,它们的距离就将会固定住。当你拖拽其中一个物体,另一个物体为了保证距离固定不变,也会跟着移动起来。
Parameters:
-
b2BodyDefA
B2BodyDef表示对象物体A
-
b2BodyDefB
B2BodyDef表示对象物体B
setEvent
-
type
-
listener
为box2d加载事件监听器。
Parameters:
-
type
String事件的类型。
事件的类型,可以使用下面四个事件类型:
类型 作用 LEvent.BEGIN_CONTACT 刚刚碰撞开始的时候会触发这个函数。 LEvent.END_CONTACT 碰撞结束的时候会触发这个函数。 LEvent.POST_SOLVE 碰撞后会处理这个函数。 LEvent.PRE_SOLVE 碰撞前即将碰撞的时候。 -
listener
Function处理事件的侦听器函数。
setGearJoint
-
b2BodyDefA
-
b2BodyDefB
-
ratio
-
revoluteJointDef
-
prismaticJointDef
添加齿轮关节。
使用Box2d可以模拟齿轮功能,这样就可以轻松地建立复杂的机械模型等,齿轮关节相对来说稍微复杂一些,因为它需要结合旋转关节和移动关节。
Parameters:
-
b2BodyDefA
B2BodyDef表示对象物体A
-
b2BodyDefB
B2BodyDef表示对象物体B
-
ratio
Float表示齿轮的比例系数,这个数值越小,物体A旋转一周使得物体B移动的距离也就越大,如果这个值设置得很大,那么物体A旋转几周才能使B移动一段很短的距离
-
revoluteJointDef
JointDef齿轮关节中的物体A和轴心所建立的旋转关节
-
prismaticJointDef
JointDef齿轮关节中的物体B和齿轮轴心所建立的移动连接
setLineJoint
-
b2BodyDefA
-
b2BodyDefB
-
vec
-
limits
-
motors
给两个物体添加悬挂关节。
悬挂关节类似于一个垂直的移动关节,它将一个物体悬挂到了另一物体上。
Parameters:
-
b2BodyDefA
B2BodyDef表示对象物体A
-
b2BodyDefB
B2BodyDef表示对象物体B
-
vec
Array表示物体B相对与悬挂点的移动方向,这个悬挂点就是物体B的初始位置,vec是一个数组[x,y],设置不同的比例,可以建立不同方向上的悬挂关节。这和移动关节比较类似,大家可以试着改变这个参数的值,来体验一下它们的具体区别
-
limits
Array表示移动的相对长度限制数组,这个数组的内容是:[正向最大长度,反向最大角度],在这里它可以限制两个物体相对移动的最大长度
-
motors
Array表示马达数组,这个数组的内容是:[正向力度,反向力度],这个马达可以给移动关节添加一个持续的力,比如在上面的例子中,如果将马达参数设置为[0,10],你会发现,物体不是向下移动了,而是向上移动,即使你用鼠标将物体拖拽到下面,它也会因为马达的力而再次向上移动
setPrismaticJoint
-
b2BodyDefA
-
b2BodyDefB
-
vec
-
limits
-
motors
给两个物体添加移动关节。
对于移动关节来说,它会有一个自由度,也就是说它限制了两个物体的移动范畴,即只能沿指定轴相对移动。
Parameters:
-
b2BodyDefA
B2BodyDef表示对象物体A
-
b2BodyDefB
B2BodyDef表示对象物体B
-
vec
Array表示物体A和物体B的相对移动方向,它是一个数组[x,y],设置不同的比例,可以建立不同方向上的移动关节
-
limits
Array表示移动的相对长度限制数组,这个数组的内容是:[正向最大长度,反向最大角度],在这里它可以限制两个物体相对移动的最大长度
-
motors
Array表示马达数组,这个数组的内容是:[正向力度,反向力度],这个马达可以给移动关节添加一个持续的力。比如在上面的例子中,如果将马达参数设置为[0,10],你会发现,物体不是向下移动了,而是向上移动,即使你用鼠标将物体拖拽到下面,它也会因为马达的力而再次向上移动
setPulleyJoint
-
b2BodyDefA
-
b2BodyDefB
-
anchorA
-
anchorB
-
ratio
给两个物体添加滑轮关节。
要滑轮关节,可以先创建一个滑轮,然后将两个物体通过一条“绳子”接通,当一个物体上升或者下降的时候,因为“绳子”的长短不变,另一个物体就会相应的下降或者上升。
Parameters:
-
b2BodyDefA
B2BodyDef表示对象物体A
-
b2BodyDefB
B2BodyDef表示对象物体B
-
anchorA
Array表示物体A相关的控制参数数组,这个数组的内容是:[x,y,length],使用setPulleyJoint建立滑轮关节的时候,会自动以物体本身的中心作为描点,anchorA数组的前两个元素,决定了关节被建立时物体相对于这个描点的位置,anchorA数组的最后一个元素,决定了左侧绳子的长度
-
anchorB
Array表示物体B相关的控制参数数组,该数组中各元素的含义同anchorA
-
ratio
Float表示两边绳子的比例系数,比如在上面的例子中,如果将比例系数设置为2,那么左边的物体上升2的时候,右边物体只下降1
setRevoluteJoint
-
b2BodyDefA
-
b2BodyDefB
-
limits
-
motors
给两个物体添加旋转关节。
旋转关节可以强制两个物体共享一个描点,这样就能使它们进行相对旋转。
Parameters:
-
b2BodyDefA
B2BodyDef表示对象物体A
-
b2BodyDefB
B2BodyDef表示对象物体B
-
limits
Array表示旋转角度限制数组,这个数组的内容是:[最小角度,最大角度],它在这里可以限制旋转关节旋转的角度
-
motors
Array表示马达数组,这个数组的内容是:[力度,速度],马达可以有很多用途,在这里,它可以是关节自动进行旋转
setWeldJoint
-
b2BodyDefA
-
b2BodyDefB
给两个物体添加焊接关节。
焊接关节相当于捆绑,就是将两个物体牢牢地绑在一起,使其成为一个物体。
Parameters:
-
b2BodyDefA
B2BodyDef表示捆绑对象物体A
-
b2BodyDefB
B2BodyDef表示捆绑对象物体B
synchronous
()
public
LBox2d相关。
重新计算Box2d中的所有刚体的坐标,一般用于镜头跟随效果。
Properties
stop
Boolean
public
LBox2d暂停处理
Default: false