feat: updated `RocketSpriteComponent` sprite (#255)

* feat: updated final rocket asset

* chore: minor changes at test and doc

* fix: rendering

Co-authored-by: Allison Ryan <allisonryan0002@gmail.com>
pull/260/head
Rui Miguel Alonso 3 years ago committed by GitHub
parent 45cd89face
commit 09c841b5e1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -12,9 +12,9 @@ class Launcher extends Blueprint {
Launcher()
: super(
components: [
ControlledPlunger(compressionDistance: 14)
..initialPosition = Vector2(40.7, 38),
RocketSpriteComponent()..position = Vector2(43, 62),
ControlledPlunger(compressionDistance: 10.5)
..initialPosition = Vector2(41.1, 43),
RocketSpriteComponent()..position = Vector2(43, 62.3),
],
blueprints: [LaunchRamp()],
);

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 37 KiB

@ -252,8 +252,10 @@ class $AssetsImagesSpaceshipGen {
class $AssetsImagesSparkyGen {
const $AssetsImagesSparkyGen();
/// File path: assets/images/sparky/animatronic.png
AssetGenImage get animatronic =>
const AssetGenImage('assets/images/sparky/animatronic.png');
$AssetsImagesSparkyBumperGen get bumper =>
const $AssetsImagesSparkyBumperGen();
$AssetsImagesSparkyComputerGen get computer =>

@ -82,7 +82,7 @@ class Plunger extends BodyComponent with InitialPosition, Layered {
/// The velocity's magnitude depends on how far the [Plunger] has been pulled
/// from its original [initialPosition].
void release() {
final velocity = (initialPosition.y - body.position.y) * 5;
final velocity = (initialPosition.y - body.position.y) * 7;
body.linearVelocity = Vector2(0, velocity);
_spriteComponent.release();
}
@ -221,7 +221,7 @@ class PlungerAnchorPrismaticJointDef extends PrismaticJointDef {
plunger.body,
anchor.body,
plunger.body.position + anchor.body.position,
Vector2(18.6, BoardDimensions.bounds.height),
Vector2(16, BoardDimensions.bounds.height),
);
enableLimit = true;
lowerTranslation = double.negativeInfinity;

@ -55,7 +55,7 @@ abstract class RenderPriority {
static const int plunger = _above + launchRamp;
static const int rocket = _above + bottomBoundary;
static const int rocket = _below + bottomBoundary;
// Dino Land

@ -6,19 +6,22 @@ import 'package:pinball_components/pinball_components.dart' hide Assets;
/// A [SpriteComponent] for the rocket over [Plunger].
/// {@endtemplate}
class RocketSpriteComponent extends SpriteComponent with HasGameRef {
// TODO(ruimiguel): change this priority to be over launcher ramp and bottom
// wall.
/// {@macro rocket_sprite_component}
RocketSpriteComponent() : super(priority: RenderPriority.rocket);
RocketSpriteComponent()
: super(
priority: RenderPriority.rocket,
anchor: Anchor.center,
);
@override
Future<void> onLoad() async {
await super.onLoad();
final sprite = await gameRef.loadSprite(
Assets.images.plunger.rocket.keyName,
final sprite = Sprite(
gameRef.images.fromCache(
Assets.images.plunger.rocket.keyName,
),
);
this.sprite = sprite;
size = sprite.originalSize / 10;
anchor = Anchor.center;
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

After

Width:  |  Height:  |  Size: 82 KiB

@ -8,14 +8,24 @@ import 'package:pinball_components/pinball_components.dart';
import '../../helpers/helpers.dart';
void main() {
group('RocketSpriteComponent', () {
final tester = FlameTester(TestGame.new);
TestWidgetsFlutterBinding.ensureInitialized();
final assets = [
Assets.images.plunger.rocket.keyName,
];
final flameTester = FlameTester(() => TestGame(assets));
tester.testGameWidget(
group('RocketSpriteComponent', () {
flameTester.testGameWidget(
'renders correctly',
setUp: (game, tester) async {
game.camera.followVector2(Vector2.zero());
await game.images.loadAll(assets);
await game.ensureAdd(RocketSpriteComponent());
game.camera
..followVector2(Vector2.zero())
..zoom = 8;
await tester.pump();
},
verify: (game, tester) async {
await expectLater(

Loading…
Cancel
Save