文章目录
  1. 1. 获取刚体的各属性
    1. 1.1. Body.Get属性名()
    2. 1.2. 返回总目录

本节主要介绍获取刚体的各属性。

获取刚体的各属性


Body.Get属性名()

在实际编程中,往往需要得到一些关于刚体的信息、数据等,以便下一步对刚体进行一系列操作。
下面代码中给出了获取某些数据的方法,还有一些设置刚体属性的语句。语法格式一般为Body.Get属性名()。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function showAllFuc() {
//获得刚体位置
var OriginPosition = new b2Vec2(); //利用b2Vec2定义一个起始位置的二维矢量
OriginPosition = slectBody.GetOriginPosition(); //获取刚体坐标原点,对称图形的原点即中心点
alert(OriginPosition.x + "," + OriginPosition.y); //显示该坐标
var mass;
mass = slectBody.GetMass(); //获取刚体质量
var inertia;
inertia = slectBody.GetInertia(); //获取惯性,类似力的大小
alert(inertia);
var worldPoint;
var localPoint = new b2Vec2(100, 100);
worldPoint = slectBody.GetWorldPoint(localPoint); //由局部坐标得到世界坐标
alert(slectBody.GetCenterPosition().x + "," + slectBody.GetCenterPosition().y); //世界坐标=局部坐标+刚体中心点坐标
alert(localPoint.x + "," + localPoint.y);
alert(worldPoint.x + "," + worldPoint.y);
var localVector;
var worldVector = new b2Vec2(slectBody.GetCenterPosition().x,
slectBody.GetCenterPosition().y);
localVector = slectBody.GetLocalVector(worldVector);
alert(worldVector.x + "," + worldVector.y);
alert(localVector.x + "," + localVector.y);
var staticFlage; //定义一个静态标志
staticFlage = slectBody.IsStatic(); //判断选中物体是否为静止不可移动的刚体,并将结果反馈给静态标志
alert(staticFlage);
var frozenFlage;
frozenFlage = slectBody.IsFrozen();
alert(frozenFlage);
var sleepingFlage; //定义一个睡眠标志
sleepingFlage = slectBody.IsSleeping(); //判断选中物体是否已进入睡眠状态,并将结果反 馈给静态标志
alert(sleepingFlage);
var allowSleepingFlage = 1; //定义一个允许睡眠的标志,并设定初值为1,即允许睡眠
slectBody.AllowSleeping(allowSleepingFlage); //根据标志判断是否允许睡眠,是则可进入睡眠状态,否则唤醒
slectBody.WakeUp(); //唤醒睡眠刚体,对于非静止刚体,只有碰撞才能自动唤醒,对其赋予速度、力等值时,需要先行唤醒才有效果
var shapeList = new Array();
shapeList = slectBody.GetShapeList(); //数组内保存选中刚体的shapelist;直接用m_shapeList效果一样,列表里是一个个的shape,shape是一个类,其表面形状类型的属性为shape.m_type
slectBody.Destroy(); //在世界里销毁该刚体
slectBody.GetNext(); //获取下一刚体,在world里刚体储存在m_BodyList里
var otherBody = Body4;
var conectJuge;
conectJuge = slectBody.IsConnected(otherBody); //判定选定的刚体是否与另一刚体相连,相连则不碰撞
alert(conectJuge);
}

返回总目录

查看Github有更多内容噢:https://github.com/godbasin
更欢迎来被删的前端游乐场边撸猫边学前端噢

码生艰难,写文不易,给我家猪囤点猫粮了喵~

作者:被删

出处:https://godbasin.github.io

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

文章目录
  1. 1. 获取刚体的各属性
    1. 1.1. Body.Get属性名()
    2. 1.2. 返回总目录