refactor: ball loads new sprites

pull/279/head
RuiAlonso 3 years ago
parent 863c5c9397
commit 0fbb4b4fc5

@ -15,10 +15,11 @@ class Ball<T extends Forge2DGame> extends BodyComponent<T>
/// {@macro ball} /// {@macro ball}
Ball({ Ball({
required this.baseColor, required this.baseColor,
String? spriteAsset,
}) : super( }) : super(
renderBody: false, renderBody: false,
children: [ children: [
_BallSpriteComponent()..tint(baseColor.withOpacity(0.5)), _BallSpriteComponent(spriteAsset),
], ],
) { ) {
// TODO(ruimiguel): while developing Ball can be launched by clicking mouse, // TODO(ruimiguel): while developing Ball can be launched by clicking mouse,
@ -120,21 +121,22 @@ class Ball<T extends Forge2DGame> extends BodyComponent<T>
} }
class _BallSpriteComponent extends SpriteComponent with HasGameRef { class _BallSpriteComponent extends SpriteComponent with HasGameRef {
_BallSpriteComponent() _BallSpriteComponent(
: super( this.spriteAsset,
) : super(
anchor: Anchor.center, anchor: Anchor.center,
); );
final String? spriteAsset;
@override @override
Future<void> onLoad() async { Future<void> onLoad() async {
await super.onLoad(); await super.onLoad();
final sprite = Sprite( final sprite = Sprite(
gameRef.images.fromCache( gameRef.images.fromCache(spriteAsset ?? Assets.images.ball.ball.keyName),
Assets.images.ball.ball.keyName,
),
); );
this.sprite = sprite; this.sprite = sprite;
size = sprite.originalSize / 10; size = sprite.originalSize / 12.5;
} }
} }

Loading…
Cancel
Save