From 2ec521451d6a20f5a0f9701289b9551ffcfb7d2d Mon Sep 17 00:00:00 2001 From: alestiago Date: Thu, 7 Apr 2022 10:32:36 +0100 Subject: [PATCH] feat: defined BallSprite --- .../lib/src/components/ball.dart | 27 ++++++++++++------- 1 file changed, 18 insertions(+), 9 deletions(-) diff --git a/packages/pinball_components/lib/src/components/ball.dart b/packages/pinball_components/lib/src/components/ball.dart index 892936f9..ba3b2cf4 100644 --- a/packages/pinball_components/lib/src/components/ball.dart +++ b/packages/pinball_components/lib/src/components/ball.dart @@ -35,23 +35,18 @@ class Ball extends BodyComponent @override Future onLoad() async { await super.onLoad(); - final sprite = await gameRef.loadSprite(Assets.images.ball.keyName); - final tint = baseColor.withOpacity(0.5); await add( - _spriteComponent = SpriteComponent( - sprite: sprite, - size: size * 1.15, - anchor: Anchor.center, - )..tint(tint), + _BallSprite() + ..tint( + baseColor.withOpacity(0.5), + ), ); } @override Body createBody() { final shape = CircleShape()..radius = size.x / 2; - final fixtureDef = FixtureDef(shape)..density = 1; - final bodyDef = BodyDef() ..position = initialPosition ..userData = this @@ -114,3 +109,17 @@ class Ball extends BodyComponent _spriteComponent.scale = Vector2.all(scaleFactor); } } + +class _BallSprite extends SpriteComponent with HasGameRef { + @override + Future onLoad() async { + await super.onLoad(); + + final sprite = await gameRef.loadSprite( + Assets.images.ball.keyName, + ); + this.sprite = sprite; + size = Ball.size * 1.15; + anchor = Anchor.center; + } +}