mirror of
https://github.com/logsol/chuck.js.git
synced 2026-05-11 10:37:34 +00:00
added washing machine, fixed grabbing and rotation and position
This commit is contained in:
parent
3a07d946b0
commit
fa9a0d5d22
5 changed files with 55 additions and 13 deletions
|
|
@ -250,10 +250,11 @@ function (Parent, Box2D, Settings, CollisionDetector, Item) {
|
|||
var p = this.body.GetPosition();
|
||||
this.holdingItem.body.SetPosition(new Box2D.Common.Math.b2Vec2(
|
||||
p.x + ((this.holdingItem.options.width / Settings.RATIO / 2 + 5 / Settings.RATIO) * this.lookDirection),
|
||||
p.y - (this.holdingItem.options.height / Settings.RATIO / 2)
|
||||
p.y - 1
|
||||
));
|
||||
this.holdingItem.flip(this.lookDirection);
|
||||
//this.holdingItem.body.SetAngle(Math.PI * 2 / 180 * 20 * -this.lookDirection);
|
||||
this.holdingItem.body.SetAngle(0);
|
||||
this.holdingItem.body.SetAngle((this.holdingItem.options.grabAngle || 0) * this.lookDirection);
|
||||
|
||||
var jointDef = new Box2D.Dynamics.Joints.b2WeldJointDef();
|
||||
jointDef.Initialize(this.body, this.holdingItem.body, this.holdingItem.body.GetWorldCenter());
|
||||
|
|
@ -273,11 +274,11 @@ function (Parent, Box2D, Settings, CollisionDetector, Item) {
|
|||
body.ApplyImpulse(
|
||||
new Box2D.Common.Math.b2Vec2(
|
||||
x * Settings.MAX_THROW_FORCE,
|
||||
-y * Settings.MAX_THROW_FORCE * 2 // 2 is to throw higher then far
|
||||
-y * Settings.MAX_THROW_FORCE * 1.5 // 1.5 is to throw higher then far
|
||||
),
|
||||
body.GetLocalCenter()
|
||||
);
|
||||
body.SetAngularVelocity(5);
|
||||
body.SetAngularVelocity(8 * x);
|
||||
};
|
||||
|
||||
Doll.prototype.onFootSensorDetection = function(isColliding, fixture) {
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ function (Parent, Box2D, Settings) {
|
|||
Parent.call(this, physicsEngine, uid);
|
||||
this.createFixture();
|
||||
this.body.ResetMassData();
|
||||
this.flipDirection = 1;
|
||||
}
|
||||
|
||||
Item.prototype = Object.create(Parent.prototype);
|
||||
|
|
@ -46,6 +47,12 @@ function (Parent, Box2D, Settings) {
|
|||
|
||||
this.body.CreateFixture(fixtureDef);
|
||||
}
|
||||
|
||||
Item.prototype.flip = function(direction) {
|
||||
this.flipDirection = direction;
|
||||
|
||||
// FIXME: implement body flip if necessary
|
||||
};
|
||||
|
||||
return Item;
|
||||
|
||||
|
|
|
|||
|
|
@ -125,7 +125,8 @@ microwave: 3.744
|
|||
depth: 3,
|
||||
x:40,
|
||||
y:0,
|
||||
rotation: 0
|
||||
rotation: 0,
|
||||
grabAngle: 0.5
|
||||
},
|
||||
{
|
||||
name:'Refridgerator',
|
||||
|
|
@ -137,7 +138,8 @@ microwave: 3.744
|
|||
height:53,
|
||||
x:120,
|
||||
y:0,
|
||||
rotation: 0
|
||||
rotation: 0,
|
||||
grabAngle: -0.5
|
||||
},
|
||||
{
|
||||
name:'Microwave',
|
||||
|
|
@ -150,7 +152,8 @@ microwave: 3.744
|
|||
depth: 12,
|
||||
x:100,
|
||||
y:0,
|
||||
rotation: 0
|
||||
rotation: 0,
|
||||
grabAngle: -0.1
|
||||
},
|
||||
{
|
||||
name:'Large Cleaver',
|
||||
|
|
@ -162,7 +165,8 @@ microwave: 3.744
|
|||
height:22,
|
||||
x:40,
|
||||
y:0,
|
||||
rotation: 0
|
||||
rotation: 0,
|
||||
grabAngle: 0.3
|
||||
},
|
||||
{
|
||||
name:'Small Cleaver',
|
||||
|
|
@ -174,7 +178,8 @@ microwave: 3.744
|
|||
height:17,
|
||||
x:60,
|
||||
y:0,
|
||||
rotation: 0
|
||||
rotation: 0,
|
||||
grabAngle: 0.3
|
||||
},
|
||||
{
|
||||
name:'Coffeemachine',
|
||||
|
|
@ -198,7 +203,21 @@ microwave: 3.744
|
|||
height:15,
|
||||
x:140,
|
||||
y:0,
|
||||
rotation: 0
|
||||
rotation: 0,
|
||||
grabAngle: 0.3
|
||||
},
|
||||
{
|
||||
name:'Laundry Machine',
|
||||
image:'laundry_machine.gif',
|
||||
shape:'rectangle',
|
||||
category:'laundry',
|
||||
weight: 15,
|
||||
width:24,
|
||||
height:31,
|
||||
x:600,
|
||||
y:0,
|
||||
rotation: 0,
|
||||
grabAngle: -0.5
|
||||
}
|
||||
],
|
||||
tiles: /*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue