mirror of
https://github.com/wassname/phaser.git
synced 2026-08-02 13:00:25 +08:00
ArcadePhysics.updateMotion applies the dt to the velocity calculations as well as position now (thanks jcs)
This commit is contained in:
@@ -534,12 +534,13 @@ Phaser.InputHandler.prototype = {
|
||||
},
|
||||
|
||||
/**
|
||||
* Description.
|
||||
* @method Phaser.InputHandler#checkPixel
|
||||
* @param {Description} x - Description.
|
||||
* @param {Description} y - Description.
|
||||
* @return {boolean}
|
||||
*/
|
||||
* Runs a pixel perfect check against the given x/y coordinates of the Sprite this InputHandler is bound to.
|
||||
* It compares the alpha value of the pixel and if >= InputHandler.pixelPerfectAlpha it returns true.
|
||||
* @method Phaser.InputHandler#checkPixel
|
||||
* @param {number} x - The x coordinate to check.
|
||||
* @param {number} y - The y coordinate to check.
|
||||
* @return {boolean} true if there is the alpha of the pixel is >= InputHandler.pixelPerfectAlpha
|
||||
*/
|
||||
checkPixel: function (x, y) {
|
||||
|
||||
// Grab a pixel from our image into the hitCanvas and then test it
|
||||
@@ -547,8 +548,6 @@ Phaser.InputHandler.prototype = {
|
||||
{
|
||||
this.game.input.hitContext.clearRect(0, 0, 1, 1);
|
||||
|
||||
// This will fail if the image is part of a texture atlas - need to modify the x/y values here
|
||||
|
||||
x += this.sprite.texture.frame.x;
|
||||
y += this.sprite.texture.frame.y;
|
||||
|
||||
|
||||
@@ -172,19 +172,19 @@ Phaser.Physics.Arcade.prototype = {
|
||||
// If you're wondering why the velocity is halved and applied twice, read this: http://www.niksula.hut.fi/~hkankaan/Homepages/gravity.html
|
||||
|
||||
// Rotation
|
||||
this._velocityDelta = (this.computeVelocity(0, body, body.angularVelocity, body.angularAcceleration, body.angularDrag, body.maxAngular) - body.angularVelocity) / 2;
|
||||
this._velocityDelta = (this.computeVelocity(0, body, body.angularVelocity, body.angularAcceleration, body.angularDrag, body.maxAngular) - body.angularVelocity) * this.game.time.physicsElapsed * 0.5 * 60;
|
||||
body.angularVelocity += this._velocityDelta;
|
||||
body.rotation += (body.angularVelocity * this.game.time.physicsElapsed);
|
||||
body.angularVelocity += this._velocityDelta;
|
||||
|
||||
// Horizontal
|
||||
this._velocityDelta = (this.computeVelocity(1, body, body.velocity.x, body.acceleration.x, body.drag.x, body.maxVelocity.x) - body.velocity.x) / 2;
|
||||
this._velocityDelta = (this.computeVelocity(1, body, body.velocity.x, body.acceleration.x, body.drag.x, body.maxVelocity.x) - body.velocity.x) * this.game.time.physicsElapsed * 0.5 * 60;
|
||||
body.velocity.x += this._velocityDelta;
|
||||
body.x += (body.velocity.x * this.game.time.physicsElapsed);
|
||||
body.velocity.x += this._velocityDelta;
|
||||
|
||||
// Vertical
|
||||
this._velocityDelta = (this.computeVelocity(2, body, body.velocity.y, body.acceleration.y, body.drag.y, body.maxVelocity.y) - body.velocity.y) / 2;
|
||||
this._velocityDelta = (this.computeVelocity(2, body, body.velocity.y, body.acceleration.y, body.drag.y, body.maxVelocity.y) - body.velocity.y) * this.game.time.physicsElapsed * 0.5 * 60;
|
||||
body.velocity.y += this._velocityDelta;
|
||||
body.y += (body.velocity.y * this.game.time.physicsElapsed);
|
||||
body.velocity.y += this._velocityDelta;
|
||||
|
||||
Reference in New Issue
Block a user