From 45fd7bc341f81750dad29927a0c9223d7a8d74a1 Mon Sep 17 00:00:00 2001 From: Erick Zanardo Date: Tue, 29 Mar 2022 16:11:18 -0300 Subject: [PATCH] feat: improving the spaceship hole area --- lib/game/pinball_game.dart | 2 +- .../lib/src/components/spaceship.dart | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/lib/game/pinball_game.dart b/lib/game/pinball_game.dart index 4a93da99..e50fbd68 100644 --- a/lib/game/pinball_game.dart +++ b/lib/game/pinball_game.dart @@ -49,7 +49,7 @@ class PinballGame extends Forge2DGame unawaited( addFromBlueprint( Spaceship( - position: Vector2(-25, 32), + position: Vector2(-26.5, 28.5), ), ), ); diff --git a/packages/pinball_components/lib/src/components/spaceship.dart b/packages/pinball_components/lib/src/components/spaceship.dart index 8c6288c7..c586f60d 100644 --- a/packages/pinball_components/lib/src/components/spaceship.dart +++ b/packages/pinball_components/lib/src/components/spaceship.dart @@ -5,6 +5,7 @@ import 'dart:math'; import 'package:flame/components.dart'; import 'package:flame_forge2d/flame_forge2d.dart'; +import 'package:flutter/material.dart'; import 'package:pinball_components/gen/assets.gen.dart'; import 'package:pinball_components/pinball_components.dart' hide Assets; @@ -16,7 +17,7 @@ class Spaceship extends Forge2DBlueprint { Spaceship({required this.position}); /// Total size of the spaceship. - static final size = Vector2(24, 18); + static final size = Vector2(25, 19); /// The [position] where the elements will be created final Vector2 position; @@ -32,8 +33,8 @@ class Spaceship extends Forge2DBlueprint { SpaceshipSaucer()..initialPosition = position, SpaceshipEntrance()..initialPosition = position, AndroidHead()..initialPosition = position, - SpaceshipHole()..initialPosition = position - Vector2(4.8, 4.2), - SpaceshipHole()..initialPosition = position - Vector2(-7.2, 0.6), + SpaceshipHole()..initialPosition = position - Vector2(5.2, 4.8), + SpaceshipHole()..initialPosition = position - Vector2(-7.2, 0.8), SpaceshipWall()..initialPosition = position, ]); } @@ -180,16 +181,17 @@ class SpaceshipHole extends BodyComponent with InitialPosition, Layered { @override Body createBody() { renderBody = false; - final circleShape = CircleShape()..radius = 1.5; + final shape = ArcShape(center: Vector2(-3.5, 2), arcRadius: 6, angle: 1); final bodyDef = BodyDef() ..userData = this ..position = initialPosition + ..angle = 5.2 ..type = BodyType.static; return world.createBody(bodyDef) ..createFixture( - FixtureDef(circleShape)..isSensor = true, + FixtureDef(shape)..isSensor = true, ); } }