Phaser.Time physicsElapsed delta timer clamp added. Stops rogue iOS / slow mobile timer errors causing crazy high deltas.

This commit is contained in:
photonstorm
2013-10-23 17:11:06 +01:00
parent 94c7c57e1c
commit 7e5f38d022
6 changed files with 22 additions and 12 deletions
+12
View File
@@ -50,15 +50,18 @@ Phaser.Group = function (game, parent, name, useStage) {
if (parent instanceof Phaser.Group)
{
parent._container.addChild(this._container);
parent._container.updateTransform();
}
else
{
parent.addChild(this._container);
parent.updateTransform();
}
}
else
{
this.game.stage._stage.addChild(this._container);
this.game.stage._stage.updateTransform();
}
}
@@ -106,6 +109,8 @@ Phaser.Group.prototype = {
}
this._container.addChild(child);
child.updateTransform();
}
return child;
@@ -133,6 +138,8 @@ Phaser.Group.prototype = {
}
this._container.addChildAt(child, index);
child.updateTransform();
}
return child;
@@ -182,6 +189,8 @@ Phaser.Group.prototype = {
}
this._container.addChild(child);
child.updateTransform();
return child;
@@ -217,6 +226,8 @@ Phaser.Group.prototype = {
}
this._container.addChild(child);
child.updateTransform();
}
},
@@ -408,6 +419,7 @@ Phaser.Group.prototype = {
this._container.removeChild(oldChild);
this._container.addChildAt(newChild, index);
newChild.events.onAddedToGroup.dispatch(newChild, this);
newChild.updateTransform();
}
},
-3
View File
@@ -190,9 +190,6 @@ Phaser.Sprite = function (game, x, y, key, frame) {
*/
this.scale = new Phaser.Point(1, 1);
// console.log(this.worldTransform);
// this.worldTransform = [];
/**
* @property {Phaser.Point} _cache - A mini cache for storing all of the calculated values.
* @private
-6
View File
@@ -113,9 +113,6 @@ Phaser.Physics.Arcade.Body.prototype = {
this.screenX = (this.sprite.worldTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x;
this.screenY = (this.sprite.worldTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y;
// this.preX = (this.sprite.localTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x;
// this.preY = (this.sprite.localTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y;
this.preX = (this.sprite.worldTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x;
this.preY = (this.sprite.worldTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y;
@@ -241,11 +238,8 @@ Phaser.Physics.Arcade.Body.prototype = {
this.angularVelocity = 0;
this.angularAcceleration = 0;
this.preX = (this.sprite.worldTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x;
this.preY = (this.sprite.worldTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y;
// this.preX = (this.sprite.localTransform[2] - (this.sprite.anchor.x * this.width)) + this.offset.x;
// this.preY = (this.sprite.localTransform[5] - (this.sprite.anchor.y * this.height)) + this.offset.y;
this.preRotation = this.sprite.angle;
this.x = this.preX;
+6
View File
@@ -202,6 +202,12 @@ Phaser.Time.prototype = {
this.lastTime = time + this.timeToCall;
this.physicsElapsed = 1.0 * (this.elapsed / 1000);
// Clamp the delta
if (this.physicsElapsed > 1)
{
this.physicsElapsed = 1;
}
// Paused?
if (this.game.paused)
{