refactor: removes ball gravitating logic

pull/314/head
alestiago 3 years ago
parent c289b2a7d0
commit 0671413196

@ -88,31 +88,6 @@ class Ball<T extends Forge2DGame> extends BodyComponent<T>
body.linearVelocity = impulse; body.linearVelocity = impulse;
await add(_TurboChargeSpriteAnimationComponent()); await add(_TurboChargeSpriteAnimationComponent());
} }
@override
void update(double dt) {
super.update(dt);
_setPositionalGravity();
}
void _setPositionalGravity() {
final defaultGravity = gameRef.world.gravity.y;
final maxXDeviationFromCenter = BoardDimensions.bounds.width / 2;
const maxXGravityPercentage =
(1 - BoardDimensions.perspectiveShrinkFactor) / 2;
final xDeviationFromCenter = body.position.x;
final positionalXForce = ((xDeviationFromCenter / maxXDeviationFromCenter) *
maxXGravityPercentage) *
defaultGravity;
final positionalYForce = math.sqrt(
math.pow(defaultGravity, 2) - math.pow(positionalXForce, 2),
);
body.gravityOverride = Vector2(positionalXForce, positionalYForce);
}
} }
class _BallSpriteComponent extends SpriteComponent with HasGameRef { class _BallSpriteComponent extends SpriteComponent with HasGameRef {

Loading…
Cancel
Save