Skip to content

Commit 18333f9

Browse files
committed
Set hard blocking
1 parent ae89e44 commit 18333f9

2 files changed

Lines changed: 20 additions & 1 deletion

File tree

src/physics/arcade/CheckOverlapY.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ var CheckOverlapY = function (body, collisionInfo)
2929
if (face === CONST.FACING_UP)
3030
{
3131
// console.log('CheckOverlapY topFace from', body.gameObject.name, 'body1 is', body1.gameObject.name, 'touching', collisionInfo.touching, 'inter', collisionInfo.intersects, 'oy', collisionInfo.overlapY);
32-
// console.log('body1', body1.x, body1.right, body1.y, body1.bottom, 'body2', body2.x, body2.right, body2.y, body2.bottom);
3332

3433
body1.setTouchingUp();
3534
body2.setTouchingDown();
@@ -48,6 +47,16 @@ var CheckOverlapY = function (body, collisionInfo)
4847
body2.setBlockedUp();
4948
}
5049

50+
if (body1.isWorldBlockedDown())
51+
{
52+
body2.setHardBlockedDown();
53+
}
54+
55+
if (body1.isWorldBlockedUp())
56+
{
57+
body2.setHardBlockedUp();
58+
}
59+
5160
return collisionInfo.touching;
5261
};
5362

src/physics/arcade/GetOverlapY.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,11 @@ var GetOverlapY = function (body1, body2, overlapOnly, bias)
4040

4141
body1.setBlockedUp(collisionInfo);
4242
body2.setBlockedDown(collisionInfo);
43+
44+
if (body2.isWorldBlockedUp())
45+
{
46+
body1.setHardBlockedUp();
47+
}
4348
}
4449
}
4550
else if (collisionInfo.face === CONST.FACING_DOWN)
@@ -53,6 +58,11 @@ var GetOverlapY = function (body1, body2, overlapOnly, bias)
5358

5459
body1.setBlockedDown(collisionInfo);
5560
body2.setBlockedUp(collisionInfo);
61+
62+
if (body2.isWorldBlockedDown())
63+
{
64+
body1.setHardBlockedDown();
65+
}
5666
}
5767
}
5868
}

0 commit comments

Comments
 (0)