mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 10:37:34 +00:00
added broken ragdoll (manual c++ convertion)
This commit is contained in:
parent
079811989b
commit
c3aee14f23
3 changed files with 614 additions and 1 deletions
565
app/Game/Core/GameObjects/Items/RagDoll2.js
Normal file
565
app/Game/Core/GameObjects/Items/RagDoll2.js
Normal file
|
|
@ -0,0 +1,565 @@
|
|||
define([
|
||||
"Game/" + GLOBALS.context + "/GameObjects/Item",
|
||||
"Lib/Vendor/Box2D",
|
||||
"Game/Config/Settings"
|
||||
],
|
||||
|
||||
function (Parent, Box2D, Settings) {
|
||||
|
||||
function RagDoll(physicsEngine, uid, options) {
|
||||
Parent.call(this, physicsEngine, uid, options);
|
||||
this.body.GetWorld().DestroyBody(this.body);
|
||||
this.limbs = {};
|
||||
this.initBodies();
|
||||
}
|
||||
|
||||
RagDoll.prototype = Object.create(Parent.prototype);
|
||||
|
||||
RagDoll.prototype.initBodies = function() {
|
||||
|
||||
var world = this.body.GetWorld();
|
||||
|
||||
var bodies = [];
|
||||
var joints = [];
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(-1.917114257812500e-01, 1.433728694915771e+00);
|
||||
bodies[0] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(6.299880146980286e-02, -2.545155882835388e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(6.299880146980286e-02, 2.545149326324463e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-6.299890577793121e-02, 2.545149326324463e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-6.299890577793121e-02, -2.545155882835388e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[0].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(-6.397294998168945e-02, 1.267420768737793e+00);
|
||||
bodies[1] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(1.883362084627151e-01, -4.305148720741272e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(1.846363544464111e-01, 5.393795371055603e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(1.850083470344543e-03, 5.393795371055603e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-1.883361339569092e-01, 4.209862351417542e-01);
|
||||
vs[4] = new Box2D.Common.Math.b2Vec2(-1.883361339569092e-01, -4.607573151588440e-01);
|
||||
vs[5] = new Box2D.Common.Math.b2Vec2(1.600667834281921e-03, -4.952520132064819e-01);
|
||||
shape.SetAsArray(vs, 6);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[1].CreateFixture(fd);
|
||||
}
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(1.840525716543198e-01, 4.875739216804504e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(1.840525716543198e-01, 6.762337088584900e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-4.607129842042923e-03, 6.762337088584900e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-4.607129842042923e-03, 4.875739216804504e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[1].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(4.118728637695312e-02, 2.199305295944214e+00);
|
||||
bodies[2] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = 2.000000029802322e-01;
|
||||
fd.restitution = 0.000000000000000e+00;
|
||||
fd.density = 2.204959988594055e-01;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2CircleShape();
|
||||
shape.m_radius = 3.009769916534424e-01;
|
||||
shape.m_p.Set(-8.219080045819283e-03, 4.109379835426807e-03);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[2].CreateFixture(fd);
|
||||
}
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = 2.000000029802322e-01;
|
||||
fd.restitution = 0.000000000000000e+00;
|
||||
fd.density = 2.204959988594055e-01;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2CircleShape();
|
||||
shape.m_radius = 2.723909914493561e-01;
|
||||
shape.m_p.Set(-3.647049888968468e-02, -1.517499983310699e-01);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[2].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(1.235442161560059e-01, 1.142371892929077e+00);
|
||||
bodies[3] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(6.299892067909241e-02, -1.556134223937988e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(6.299892067909241e-02, 1.556134223937988e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-6.299898028373718e-02, 1.556134223937988e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-6.299898028373718e-02, -1.556134223937988e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[3].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(-9.663248062133789e-02, 3.554300665855408e-01);
|
||||
|
||||
bodies[4] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(1.550966501235962e-01, -1.253567039966583e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(1.550966501235962e-01, -6.225190684199333e-02);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-9.268096834421158e-02, -6.225190684199333e-02);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-9.268096834421158e-02, -1.253567039966583e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[4].CreateFixture(fd);
|
||||
}
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(9.449840337038040e-02, -1.247676759958267e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(9.449840337038040e-02, 1.715210527181625e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-9.449829906225204e-02, 1.715210527181625e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-9.449829906225204e-02, -1.247676759958267e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[4].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(-1.917138099670410e-01, 1.142371892929077e+00);
|
||||
|
||||
bodies[5] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(6.299891322851181e-02, -1.556134223937988e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(6.299891322851181e-02, 1.556134223937988e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-6.299878656864166e-02, 1.556134223937988e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-6.299878656864166e-02, -1.556134223937988e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[5].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(1.235442161560059e-01, 1.433728694915771e+00);
|
||||
|
||||
bodies[6] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(6.299892067909241e-02, -2.545155882835388e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(6.299892067909241e-02, 2.545149326324463e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-6.299898028373718e-02, 2.545149326324463e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-6.299898028373718e-02, -2.545155882835388e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[6].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(2.897095680236816e-02, 6.702435612678528e-01);
|
||||
bodies[7] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(9.449830651283264e-02, -2.537839412689209e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(9.449830651283264e-02, 2.537844777107239e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-9.449817240238190e-02, 2.537844777107239e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-9.449817240238190e-02, -2.537839412689209e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[7].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(-9.663248062133789e-02, 6.702435612678528e-01);
|
||||
|
||||
bodies[8] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(9.449842572212219e-02, -2.537839412689209e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(9.449842572212219e-02, 2.537844777107239e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-9.449826925992966e-02, 2.537844777107239e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-9.449826925992966e-02, -2.537839412689209e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[8].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
{
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = Box2D.Dynamics.b2Body.b2_dynamicBody;
|
||||
bd.position.Set(2.897095680236816e-02, 3.554300665855408e-01);
|
||||
|
||||
bodies[9] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(1.550965905189514e-01, -1.253567039966583e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(1.550965905189514e-01, -6.225190684199333e-02);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-9.268099069595337e-02, -6.225190684199333e-02);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-9.268099069595337e-02, -1.253567039966583e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[9].CreateFixture(fd);
|
||||
}
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = -1;
|
||||
var shape = new Box2D.Collision.Shapes.b2PolygonShape();
|
||||
var vs = [];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(9.449830651283264e-02, -1.247680261731148e-01);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(9.449830651283264e-02, 1.713046580553055e-01);
|
||||
vs[2] = new Box2D.Common.Math.b2Vec2(-9.449817240238190e-02, 1.713046580553055e-01);
|
||||
vs[3] = new Box2D.Common.Math.b2Vec2(-9.449817240238190e-02, -1.247680261731148e-01);
|
||||
shape.SetAsArray(vs, 4);
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[9].CreateFixture(fd);
|
||||
}
|
||||
}
|
||||
/*{
|
||||
|
||||
ground body
|
||||
|
||||
var bd = new Box2D.Dynamics.b2BodyDef();
|
||||
bd.type = b2BodyType(0);
|
||||
bd.position.Set(3.118395805358887e-03, -6.553649902343750e-03);
|
||||
|
||||
bodies[10] = world.CreateBody(bd);
|
||||
|
||||
{
|
||||
var fd = new Box2D.Dynamics.b2FixtureDef();
|
||||
fd.friction = Settings.PLAYER_FRICTION;
|
||||
fd.restitution = Settings.PLAYER_RESTITUTION;
|
||||
fd.density = Settings.PLAYER_DENSITY;
|
||||
|
||||
fd.filter.groupIndex = int16(0);
|
||||
b2ChainShape shape;
|
||||
b2Vec2 vs[2];
|
||||
vs[0] = new Box2D.Common.Math.b2Vec2(-4.179394245147705e+00, 0.000000000000000e+00);
|
||||
vs[1] = new Box2D.Common.Math.b2Vec2(4.179394245147705e+00, 0.000000000000000e+00);
|
||||
shape.CreateChain(vs, 2);
|
||||
shape.m_prevVertex.Set(-1.998532295227051e+00, -2.391039296991059e-23);
|
||||
shape.m_nextVertex.Set(4.949933242915726e-38, 3.363116314379561e-44);
|
||||
shape.m_hasPrevVertex = false;
|
||||
shape.m_hasNextVertex = false;
|
||||
|
||||
fd.shape = shape;
|
||||
|
||||
bodies[10].CreateFixture(fd);
|
||||
}
|
||||
}*/
|
||||
{
|
||||
var jd = new Box2D.Dynamics.Joints.b2RevoluteJointDef();
|
||||
jd.bodyA = bodies[1];
|
||||
jd.bodyB = bodies[8];
|
||||
jd.collideConnected = false;
|
||||
jd.localAnchorA.Set(-9.128235280513763e-02, -3.880688548088074e-01);
|
||||
jd.localAnchorB.Set(-6.031601130962372e-02, 2.092975974082947e-01);
|
||||
jd.referenceAngle = 0.000000000000000e+00;
|
||||
jd.enableLimit = true;
|
||||
jd.lowerAngle = -6.981316804885864e-01;
|
||||
jd.upperAngle = 1.919862151145935e+00;
|
||||
jd.enableMotor = false;
|
||||
jd.motorSpeed = 0.000000000000000e+00;
|
||||
jd.maxMotorTorque = 1.000000000000000e+00;
|
||||
joints[0] = world.CreateJoint(jd);
|
||||
}
|
||||
{
|
||||
var jd = new Box2D.Dynamics.Joints.b2RevoluteJointDef();
|
||||
jd.bodyA = bodies[1];
|
||||
jd.bodyB = bodies[7];
|
||||
jd.collideConnected = false;
|
||||
jd.localAnchorA.Set(1.498610228300095e-01, -3.952181935310364e-01);
|
||||
jd.localAnchorB.Set(5.541206151247025e-02, 2.019590735435486e-01);
|
||||
jd.referenceAngle = 0.000000000000000e+00;
|
||||
jd.enableLimit = true;
|
||||
jd.lowerAngle = -6.981316804885864e-01;
|
||||
jd.upperAngle = 1.919862151145935e+00;
|
||||
jd.enableMotor = false;
|
||||
jd.motorSpeed = 0.000000000000000e+00;
|
||||
jd.maxMotorTorque = 1.000000000000000e+00;
|
||||
joints[1] = world.CreateJoint(jd);
|
||||
}
|
||||
{
|
||||
var jd = new Box2D.Dynamics.Joints.b2RevoluteJointDef();
|
||||
jd.bodyA = bodies[1];
|
||||
jd.bodyB = bodies[6];
|
||||
jd.collideConnected = false;
|
||||
jd.localAnchorA.Set(1.874177008867264e-01, 3.626269102096558e-01);
|
||||
jd.localAnchorB.Set(-1.000612974166870e-04, 1.963189840316772e-01);
|
||||
jd.referenceAngle = 0.000000000000000e+00;
|
||||
jd.enableLimit = false;
|
||||
jd.lowerAngle = -2.268928050994873e+00;
|
||||
jd.upperAngle = 3.141592741012573e+00;
|
||||
jd.enableMotor = false;
|
||||
jd.motorSpeed = 0.000000000000000e+00;
|
||||
jd.maxMotorTorque = 1.000000000000000e+00;
|
||||
joints[2] = world.CreateJoint(jd);
|
||||
}
|
||||
{
|
||||
var jd = new Box2D.Dynamics.Joints.b2RevoluteJointDef();
|
||||
jd.bodyA = bodies[1];
|
||||
jd.bodyB = bodies[0];
|
||||
jd.collideConnected = false;
|
||||
jd.localAnchorA.Set(-1.277616322040558e-01, 3.649693727493286e-01);
|
||||
jd.localAnchorB.Set(-2.339482307434082e-05, 1.986622810363770e-01);
|
||||
jd.referenceAngle = 0.000000000000000e+00;
|
||||
jd.enableLimit = false;
|
||||
jd.lowerAngle = -2.268928050994873e+00;
|
||||
jd.upperAngle = 3.141592741012573e+00;
|
||||
jd.enableMotor = false;
|
||||
jd.motorSpeed = 0.000000000000000e+00;
|
||||
jd.maxMotorTorque = 1.000000000000000e+00;
|
||||
joints[3] = world.CreateJoint(jd);
|
||||
}
|
||||
{
|
||||
var jd = new Box2D.Dynamics.Joints.b2RevoluteJointDef();
|
||||
jd.bodyA = bodies[8];
|
||||
jd.bodyB = bodies[4];
|
||||
jd.collideConnected = false;
|
||||
jd.localAnchorA.Set(-1.047469675540924e-03, -1.993342936038971e-01);
|
||||
jd.localAnchorB.Set(-1.047216355800629e-03, 1.156357824802399e-01);
|
||||
jd.referenceAngle = 0.000000000000000e+00;
|
||||
jd.enableLimit = true;
|
||||
jd.lowerAngle = -2.268928050994873e+00;
|
||||
jd.upperAngle = 0.000000000000000e+00;
|
||||
jd.enableMotor = false;
|
||||
jd.motorSpeed = 0.000000000000000e+00;
|
||||
jd.maxMotorTorque = 1.000000000000000e+00;
|
||||
joints[4] = world.CreateJoint(jd);
|
||||
}
|
||||
{
|
||||
var jd = new Box2D.Dynamics.Joints.b2RevoluteJointDef();
|
||||
jd.bodyA = bodies[0];
|
||||
jd.bodyB = bodies[5];
|
||||
jd.collideConnected = false;
|
||||
jd.localAnchorA.Set(1.148343086242676e-03, -1.961904764175415e-01);
|
||||
jd.localAnchorB.Set(1.148715615272522e-03, 9.516614675521851e-02);
|
||||
jd.referenceAngle = 0.000000000000000e+00;
|
||||
jd.enableLimit = true;
|
||||
jd.lowerAngle = 0.000000000000000e+00;
|
||||
jd.upperAngle = 1.919862151145935e+00;
|
||||
jd.enableMotor = false;
|
||||
jd.motorSpeed = 0.000000000000000e+00;
|
||||
jd.maxMotorTorque = 1.000000000000000e+00;
|
||||
joints[5] = world.CreateJoint(jd);
|
||||
}
|
||||
{
|
||||
var jd = new Box2D.Dynamics.Joints.b2RevoluteJointDef();
|
||||
jd.bodyA = bodies[3];
|
||||
jd.bodyB = bodies[6];
|
||||
jd.collideConnected = false;
|
||||
jd.localAnchorA.Set(4.750192165374756e-04, 9.541386365890503e-02);
|
||||
jd.localAnchorB.Set(4.747509956359863e-04, -1.959429979324341e-01);
|
||||
jd.referenceAngle = 0.000000000000000e+00;
|
||||
jd.enableLimit = true;
|
||||
jd.lowerAngle = 0.000000000000000e+00;
|
||||
jd.upperAngle = 1.919862151145935e+00;
|
||||
jd.enableMotor = false;
|
||||
jd.motorSpeed = 0.000000000000000e+00;
|
||||
jd.maxMotorTorque = 1.000000000000000e+00;
|
||||
joints[6] = world.CreateJoint(jd);
|
||||
}
|
||||
{
|
||||
var jd = new Box2D.Dynamics.Joints.b2RevoluteJointDef();
|
||||
jd.bodyA = bodies[7];
|
||||
jd.bodyB = bodies[9];
|
||||
jd.collideConnected = false;
|
||||
jd.localAnchorA.Set(2.657793462276459e-03, -2.022806107997894e-01);
|
||||
jd.localAnchorB.Set(2.657927572727203e-03, 1.125320196151733e-01);
|
||||
jd.referenceAngle = 0.000000000000000e+00;
|
||||
jd.enableLimit = true;
|
||||
jd.lowerAngle = -2.268928050994873e+00;
|
||||
jd.upperAngle = 0.000000000000000e+00;
|
||||
jd.enableMotor = false;
|
||||
jd.motorSpeed = 0.000000000000000e+00;
|
||||
jd.maxMotorTorque = 1.000000000000000e+00;
|
||||
joints[7] = world.CreateJoint(jd);
|
||||
}
|
||||
{
|
||||
var jd = new Box2D.Dynamics.Joints.b2RevoluteJointDef();
|
||||
jd.bodyA = bodies[1];
|
||||
jd.bodyB = bodies[2];
|
||||
jd.collideConnected = false;
|
||||
jd.localAnchorA.Set(8.169807493686676e-02, 5.554057359695435e-01);
|
||||
jd.localAnchorB.Set(-2.346399985253811e-02, -3.764809966087341e-01);
|
||||
jd.referenceAngle = 0.000000000000000e+00;
|
||||
jd.enableLimit = true;
|
||||
jd.lowerAngle = -1.221730470657349e+00;
|
||||
jd.upperAngle = 6.981316804885864e-01;
|
||||
jd.enableMotor = false;
|
||||
jd.motorSpeed = 0.000000000000000e+00;
|
||||
jd.maxMotorTorque = 1.000000000000000e+00;
|
||||
joints[8] = world.CreateJoint(jd);
|
||||
}
|
||||
|
||||
this.body = bodies[1];
|
||||
|
||||
this.limbs = {
|
||||
head: bodies[2],
|
||||
upperLeftArm: bodies[0],
|
||||
lowerLeftArm: bodies[5],
|
||||
upperRightArm: bodies[6],
|
||||
lowerRightArm: bodies[3],
|
||||
upperLeftLeg: bodies[8],
|
||||
lowerLeftLeg: bodies[4],
|
||||
upperRightLeg: bodies[7],
|
||||
lowerRightLeg: bodies[9]
|
||||
};
|
||||
|
||||
this.body.SetPosition(new Box2D.Common.Math.b2Vec2(20,0));
|
||||
};
|
||||
|
||||
RagDoll.prototype.destroy = function() {
|
||||
|
||||
var world = this.body.GetWorld();
|
||||
|
||||
Parent.prototype.destroy.call(this); // chest destruction
|
||||
|
||||
for(var key in this.limbs) {
|
||||
world.DestroyBody(this.limbs[key]);
|
||||
}
|
||||
};
|
||||
|
||||
return RagDoll;
|
||||
|
||||
});
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
//Restarted script log at Sun Feb 16 21:04:27 2014
|
||||
getBody(16).deselect();
|
||||
|
|
@ -1,2 +1,48 @@
|
|||
//Restarted script log at Sun Feb 16 21:04:27 2014
|
||||
//Started script log at Mon Feb 17 11:10:57 2014
|
||||
|
||||
getBody(18).select();
|
||||
getBody(19).select();
|
||||
getBody(17).select();
|
||||
getBody(20).select();
|
||||
getBody(21).select();
|
||||
getBody(22).select();
|
||||
getBody(12).select();
|
||||
getBody(15).select();
|
||||
getBody(16).select();
|
||||
getBody(14).select();
|
||||
getBody(13).select();
|
||||
getBody(18).deselect();
|
||||
getBody(19).deselect();
|
||||
getBody(17).deselect();
|
||||
getBody(20).deselect();
|
||||
getBody(21).deselect();
|
||||
getBody(22).deselect();
|
||||
getBody(12).deselect();
|
||||
getBody(15).deselect();
|
||||
getBody(16).deselect();
|
||||
getBody(14).deselect();
|
||||
getBody(13).deselect();
|
||||
getBody(20).select();
|
||||
getBody(20).deselect();
|
||||
getBody(20).select();
|
||||
getBody(20).deselect();
|
||||
getBody(12).select();
|
||||
getBody(12).deselect();
|
||||
getBody(12).select();
|
||||
getBody(12).deselect();
|
||||
getBody(20).select();
|
||||
getBody(20).deselect();
|
||||
getBody(22).select();
|
||||
getBody(12).select();
|
||||
getBody(22).deselect();
|
||||
getBody(12).deselect();
|
||||
getBody(12).select();
|
||||
getBody(12).deselect();
|
||||
getBody(12).select();
|
||||
getBody(12).deselect();
|
||||
getBody(12).select();
|
||||
getBody(12).deselect();
|
||||
getBody(12).select();
|
||||
getBody(12).deselect();
|
||||
getBody(12).select();
|
||||
getBody(12).deselect();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue