After a mammoth debugging session we now have advanced physics colliding and responding accurately :)

This commit is contained in:
Richard Davey
2013-06-14 15:18:41 +01:00
parent 114d1d2fbf
commit dd8962d4b5
22 changed files with 753 additions and 305 deletions
-26
View File
@@ -23,12 +23,8 @@ module Phaser {
this.c = Math.cos(angle);
this.s = Math.sin(angle);
this._tempVec = new Phaser.Vec2;
}
private _tempVec: Phaser.Vec2;
public t: Phaser.Vec2;
public c: number;
public s: number;
@@ -68,28 +64,6 @@ module Phaser {
}
public rotate(v:Phaser.Vec2):Phaser.Vec2 {
return this._tempVec.setTo(v.x * this.c - v.y * this.s, v.x * this.s + v.y * this.c);
}
public unrotate(v:Phaser.Vec2):Phaser.Vec2 {
return this._tempVec.setTo(v.x * this.c + v.y * this.s, -v.x * this.s + v.y * this.c);
}
public transform(v:Phaser.Vec2):Phaser.Vec2 {
return this._tempVec.setTo(v.x * this.c - v.y * this.s + this.t.x, v.x * this.s + v.y * this.c + this.t.y);
}
public untransform(v:Phaser.Vec2):Phaser.Vec2 {
var px = v.x - this.t.x;
var py = v.y - this.t.y;
// expensive - check for alternatives
return this._tempVec.setTo(px * this.c + py * this.s, -px * this.s + py * this.c);
}
}
}