Skip to content

Commit 814e5af

Browse files
committed
Remove recalculation of tile bounds from arcade physics
1 parent d1cd5cb commit 814e5af

3 files changed

Lines changed: 6 additions & 12 deletions

File tree

src/physics/arcade/inc/tilemap/SeparateTile.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ var SeparateTile = function (i, body, tile, tileWorldRect, tilemapLayer, tileBia
5555
{
5656
if (faceHorizontal)
5757
{
58-
ox = TileCheckX(body, tile, tilemapLayer, tileBias);
58+
ox = TileCheckX(body, tile, tileLeft, tileRight, tileBias);
5959

6060
// That's horizontal done, check if we still intersects? If not then we can return now
6161
if (ox !== 0 && !TileIntersectsBody(tileWorldRect, body))
@@ -66,14 +66,14 @@ var SeparateTile = function (i, body, tile, tileWorldRect, tilemapLayer, tileBia
6666

6767
if (faceVertical)
6868
{
69-
oy = TileCheckY(body, tile, tilemapLayer, tileBias);
69+
oy = TileCheckY(body, tile, tileTop, tileBottom, tileBias);
7070
}
7171
}
7272
else
7373
{
7474
if (faceVertical)
7575
{
76-
oy = TileCheckY(body, tile, tilemapLayer, tileBias);
76+
oy = TileCheckY(body, tile, tileTop, tileBottom, tileBias);
7777

7878
// That's vertical done, check if we still intersects? If not then we can return now
7979
if (oy !== 0 && !TileIntersectsBody(tileWorldRect, body))
@@ -84,7 +84,7 @@ var SeparateTile = function (i, body, tile, tileWorldRect, tilemapLayer, tileBia
8484

8585
if (faceHorizontal)
8686
{
87-
ox = TileCheckX(body, tile, tilemapLayer, tileBias);
87+
ox = TileCheckX(body, tile, tileLeft, tileRight, tileBias);
8888
}
8989
}
9090

src/physics/arcade/inc/tilemap/TileCheckX.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,9 @@ var ProcessTileSeparationX = require('./ProcessTileSeparationX');
1010
* @param {Phaser.TilemapLayer} tilemapLayer - The tilemapLayer to collide against.
1111
* @return {number} The amount of separation that occurred.
1212
*/
13-
var TileCheckX = function (body, tile, tilemapLayer, tileBias)
13+
var TileCheckX = function (body, tile, tileLeft, tileRight, tileBias)
1414
{
1515
var ox = 0;
16-
var tileLeft = tilemapLayer.tileToWorldX(tile.x);
17-
var tileWidth = tile.width * tilemapLayer.scaleX;
18-
var tileRight = tileLeft + tileWidth;
1916

2017
if (body.deltaX() < 0 && !body.blocked.left && tile.collideRight && body.checkCollision.left)
2118
{

src/physics/arcade/inc/tilemap/TileCheckY.js

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,9 @@ var ProcessTileSeparationY = require('./ProcessTileSeparationY');
1010
* @param {Phaser.TilemapLayer} tilemapLayer - The tilemapLayer to collide against.
1111
* @return {number} The amount of separation that occurred.
1212
*/
13-
var TileCheckY = function (body, tile, tilemapLayer, tileBias)
13+
var TileCheckY = function (body, tile, tileTop, tileBottom, tileBias)
1414
{
1515
var oy = 0;
16-
var tileTop = tilemapLayer.tileToWorldX(tile.y);
17-
var tileHeight = tile.height * tilemapLayer.scaleY;
18-
var tileBottom = tileTop + tileHeight;
1916

2017
if (body.deltaY() < 0 && !body.blocked.up && tile.collideDown && body.checkCollision.up)
2118
{

0 commit comments

Comments
 (0)