diff --git a/CHANGELOG.md b/CHANGELOG.md index 46eec17c1..6c0474c46 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ - [BREAKING CHANGE] `BlockMovementCollision` big improvements. Update `onBlockedMovement` method, adds `CollisionData(normal,depth,direction,intersectionPoints)` Adds `onBlockMovementUpdateVelocity` method to do override if necessary. +- `HandleForces` improvements. - Fix typo in params that contained `intencity` renaming it to `intensity`. - Fix bug `playOnce` and `playOnceOther` when call again without finish the last. - `BarLifeComponent` improvements. diff --git a/lib/forces/forces_2d.dart b/lib/forces/forces_2d.dart index 4807798ae..8c53834f7 100644 --- a/lib/forces/forces_2d.dart +++ b/lib/forces/forces_2d.dart @@ -17,7 +17,7 @@ class AccelerationForce2D extends Force2D { @override Vector2 transform(Vector2 velocity, double mass, double dt) { - return (value * mass * dt); + return velocity + (value * mass * dt); } } diff --git a/lib/forces/handle_forces.dart b/lib/forces/handle_forces.dart index 0840b94ec..fb0eb9103 100644 --- a/lib/forces/handle_forces.dart +++ b/lib/forces/handle_forces.dart @@ -46,11 +46,10 @@ mixin HandleForces on Movement { Vector2 velocity, double dt, ) { - final accelerations = forces.fold( - Vector2.zero(), - (p, e) => p + e.transform(p, mass, dt), + return forces.fold( + velocity, + (p, e) => e.transform(p, mass, dt), ); - return velocity + accelerations; } Vector2 onApplyResistenceForces(