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