diff --git a/assets/images/components/plunger.png b/assets/images/components/plunger.png new file mode 100644 index 00000000..f3cbdf0f Binary files /dev/null and b/assets/images/components/plunger.png differ diff --git a/lib/game/components/plunger.dart b/lib/game/components/plunger.dart index cc5797c0..750bbd8b 100644 --- a/lib/game/components/plunger.dart +++ b/lib/game/components/plunger.dart @@ -2,7 +2,8 @@ import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:pinball_components/pinball_components.dart'; +import 'package:pinball/gen/assets.gen.dart'; +import 'package:pinball_components/pinball_components.dart' hide Assets; /// {@template plunger} /// [Plunger] serves as a spring, that shoots the ball on the right side of the @@ -96,6 +97,22 @@ class Plunger extends BodyComponent with KeyboardHandler, InitialPosition { Future onLoad() async { await super.onLoad(); await _anchorToJoint(); + await _loadSprite(); + } + + Future _loadSprite() async { + final sprite = await gameRef.loadSprite( + Assets.images.components.plunger.path, + ); + + await add( + SpriteComponent( + sprite: sprite, + size: sprite.originalSize / 10, + anchor: Anchor.center, + position: Vector2(25.65, 0), + ), + ); } } diff --git a/lib/gen/assets.gen.dart b/lib/gen/assets.gen.dart index 97be7f3e..90013646 100644 --- a/lib/gen/assets.gen.dart +++ b/lib/gen/assets.gen.dart @@ -20,6 +20,10 @@ class $AssetsImagesComponentsGen { /// File path: assets/images/components/background.png AssetGenImage get background => const AssetGenImage('assets/images/components/background.png'); + + /// File path: assets/images/components/plunger.png + AssetGenImage get plunger => + const AssetGenImage('assets/images/components/plunger.png'); } class Assets {