mirror of
https://github.com/wassname/phaser.git
synced 2026-07-10 00:30:50 +08:00
Phaser.Time physicsElapsed delta timer clamp added. Stops rogue iOS / slow mobile timer errors causing crazy high deltas.
This commit is contained in:
@@ -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();
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user