diff --git a/packages/pinball_components/lib/src/components/sparky_bumper.dart b/packages/pinball_components/lib/src/components/sparky_bumper.dart index ef6f81fa..ba393713 100644 --- a/packages/pinball_components/lib/src/components/sparky_bumper.dart +++ b/packages/pinball_components/lib/src/components/sparky_bumper.dart @@ -11,46 +11,58 @@ import 'package:pinball_components/pinball_components.dart'; class SparkyBumper extends BodyComponent with InitialPosition { /// {@macro sparky_bumper} SparkyBumper._({ + required double majorRadius, + required double minorRadius, required String activeAssetPath, required String inactiveAssetPath, required SpriteComponent spriteComponent, - }) : _activeAssetPath = activeAssetPath, + }) : _majorRadius = majorRadius, + _minorRadius = minorRadius, + _activeAssetPath = activeAssetPath, _inactiveAssetPath = inactiveAssetPath, _spriteComponent = spriteComponent; /// {@macro sparky_bumper} SparkyBumper.a() : this._( + majorRadius: 2.9, + minorRadius: 2.1, activeAssetPath: Assets.images.sparkyBumper.a.active.keyName, inactiveAssetPath: Assets.images.sparkyBumper.a.inactive.keyName, spriteComponent: SpriteComponent( anchor: Anchor.center, - position: Vector2(0, -0.2), + position: Vector2(0, -0.25), ), ); /// {@macro sparky_bumper} SparkyBumper.b() : this._( + majorRadius: 2.85, + minorRadius: 2, activeAssetPath: Assets.images.sparkyBumper.b.active.keyName, inactiveAssetPath: Assets.images.sparkyBumper.b.inactive.keyName, spriteComponent: SpriteComponent( anchor: Anchor.center, - position: Vector2(0.1, -0.2), + position: Vector2(0, -0.35), ), ); /// {@macro sparky_bumper} SparkyBumper.c() : this._( + majorRadius: 3, + minorRadius: 2.2, activeAssetPath: Assets.images.sparkyBumper.c.active.keyName, inactiveAssetPath: Assets.images.sparkyBumper.c.inactive.keyName, spriteComponent: SpriteComponent( anchor: Anchor.center, - position: Vector2(0.2, -0.5), + position: Vector2(0, -0.4), ), ); + final double _majorRadius; + final double _minorRadius; final String _activeAssetPath; late final Sprite _activeSprite; final String _inactiveAssetPath; @@ -75,9 +87,9 @@ class SparkyBumper extends BodyComponent with InitialPosition { final shape = EllipseShape( center: Vector2.zero(), - majorRadius: 2.85, - minorRadius: 2.15, - )..rotate(math.pi / 2); + majorRadius: _majorRadius, + minorRadius: _minorRadius, + )..rotate(math.pi / 1.9); final fixtureDef = FixtureDef(shape) ..friction = 0 ..restitution = 4;