mirror of
https://github.com/RandomityGuy/MBHaxe.git
synced 2026-04-26 04:31:40 +00:00
fix marble getting stuck on corners
This commit is contained in:
parent
06769e9987
commit
4bd6aaec43
1 changed files with 4 additions and 1 deletions
|
|
@ -1198,7 +1198,7 @@ class Marble extends GameObject {
|
||||||
edgeCollisionTime = 0.0;
|
edgeCollisionTime = 0.0;
|
||||||
|
|
||||||
// Check if the collision hasn't already happened
|
// Check if the collision hasn't already happened
|
||||||
if (edgeCollisionTime >= 0.0) {
|
if (edgeCollisionTime >= 0.000001) {
|
||||||
// Resolve it and continue
|
// Resolve it and continue
|
||||||
finalT = edgeCollisionTime;
|
finalT = edgeCollisionTime;
|
||||||
currentFinalPos = position.add(relVel.multiply(finalT));
|
currentFinalPos = position.add(relVel.multiply(finalT));
|
||||||
|
|
@ -1550,6 +1550,8 @@ class Marble extends GameObject {
|
||||||
var pos = this.getAbsPos().getPosition();
|
var pos = this.getAbsPos().getPosition();
|
||||||
this.prevPos = pos.clone();
|
this.prevPos = pos.clone();
|
||||||
|
|
||||||
|
var tdiff = timeStep;
|
||||||
|
|
||||||
var finalPosData = testMove(velocity, pos, timeStep, _radius, true); // this.getIntersectionTime(timeStep, velocity);
|
var finalPosData = testMove(velocity, pos, timeStep, _radius, true); // this.getIntersectionTime(timeStep, velocity);
|
||||||
if (finalPosData.found) {
|
if (finalPosData.found) {
|
||||||
var diff = timeStep - finalPosData.t;
|
var diff = timeStep - finalPosData.t;
|
||||||
|
|
@ -1557,6 +1559,7 @@ class Marble extends GameObject {
|
||||||
this.omega = this.omega.sub(a.multiply(diff));
|
this.omega = this.omega.sub(a.multiply(diff));
|
||||||
// if (finalPosData.t > 0.00001)
|
// if (finalPosData.t > 0.00001)
|
||||||
timeStep = finalPosData.t;
|
timeStep = finalPosData.t;
|
||||||
|
tdiff = diff;
|
||||||
}
|
}
|
||||||
var expectedPos = finalPosData.position;
|
var expectedPos = finalPosData.position;
|
||||||
// var newPos = expectedPos;
|
// var newPos = expectedPos;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue