chore: update tracing stories

pull/157/head
Allison Ryan 4 years ago
parent 11fbe0b8ef
commit 47c65de4ec

@ -2,13 +2,22 @@ import 'package:flame/input.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:pinball_components/pinball_components.dart';
import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/ball/basic_ball_game.dart';
class BasicFlipperGame extends BasicBallGame with KeyboardEvents {
BasicFlipperGame() : super(color: Colors.blue);
class FlipperGame extends BasicBallGame with KeyboardEvents {
FlipperGame({
required this.trace,
}) : super(color: const Color(0xFFFF0000));
static const info = '''
Shows how a Flipper works.
static const info = 'Shows how a Flipper works.';
- Activate the "trace" parameter to overlay the body.
- Tap anywhere on the screen to spawn a ball into the game.
''';
final bool trace;
static const _leftFlipperKeys = [
LogicalKeyboardKey.arrowLeft,
@ -38,6 +47,9 @@ class BasicFlipperGame extends BasicBallGame with KeyboardEvents {
leftFlipper,
rightFlipper,
]);
await ready();
if (trace) traceAllBodies();
}
@override

@ -1,26 +0,0 @@
import 'dart:async';
import 'package:flame_forge2d/flame_forge2d.dart';
import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/flipper/basic_flipper_game.dart';
class FlipperTracingGame extends BasicFlipperGame {
static const info = '''
Basic example of how the Flipper body overlays the sprite.
''';
@override
Future<void> onLoad() async {
await super.onLoad();
leftFlipper.trace();
leftFlipper.body.joints.whereType<RevoluteJoint>().forEach(
(joint) => joint.setLimits(0, 0),
);
rightFlipper.trace();
rightFlipper.body.joints.whereType<RevoluteJoint>().forEach(
(joint) => joint.setLimits(0, 0),
);
}
}

@ -1,25 +1,17 @@
import 'package:dashbook/dashbook.dart';
import 'package:flame/game.dart';
import 'package:sandbox/common/common.dart';
import 'package:sandbox/stories/flipper/basic_flipper_game.dart';
import 'package:sandbox/stories/flipper/flipper_tracing_game.dart';
import 'package:sandbox/stories/flipper/flipper_game.dart';
void addFlipperStories(Dashbook dashbook) {
dashbook.storiesOf('Flipper')
..add(
'Basic',
(context) => GameWidget(
game: BasicFlipperGame(),
),
codeLink: buildSourceLink('flipper/basic.dart'),
info: BasicFlipperGame.info,
)
..add(
'Tracing',
(context) => GameWidget(
game: FlipperTracingGame(),
),
codeLink: buildSourceLink('flipper/tracing.dart'),
info: FlipperTracingGame.info,
);
dashbook.storiesOf('Flipper').add(
'Basic',
(context) => GameWidget(
game: FlipperGame(
trace: context.boolProperty('Trace', true),
),
),
codeLink: buildSourceLink('flipper_game/basic.dart'),
info: FlipperGame.info,
);
}

@ -30,10 +30,8 @@ class KickerGame extends BasicBallGame {
final rightKicker = Kicker(side: BoardSide.right)
..initialPosition = Vector2(center.x + (Kicker.size.x * 2), center.y);
await add(rightKicker);
await ready();
if (trace) {
leftKicker.trace();
rightKicker.trace();
}
if (trace) traceAllBodies();
}
}

@ -1,5 +1,3 @@
import 'dart:math' as math;
import 'package:flame/extensions.dart';
import 'package:pinball_components/pinball_components.dart';
import 'package:sandbox/common/common.dart';
@ -23,44 +21,11 @@ class SlingshotGame extends BasicBallGame {
Future<void> onLoad() async {
await super.onLoad();
final center = screenToWorld(camera.viewport.canvasSize! / 2);
final leftUpperSlingshot = Slingshot(
length: 5.66,
angle: -1.5 * (math.pi / 180),
spritePath: Assets.images.slingshot.leftUpper.keyName,
)..initialPosition = center + Vector2(-29, 1.5);
final leftLowerSlingshot = Slingshot(
length: 3.54,
angle: -29.1 * (math.pi / 180),
spritePath: Assets.images.slingshot.leftLower.keyName,
)..initialPosition = center + Vector2(-31, -6.2);
final rightUpperSlingshot = Slingshot(
length: 5.64,
angle: 1 * (math.pi / 180),
spritePath: Assets.images.slingshot.rightUpper.keyName,
)..initialPosition = center + Vector2(22.3, 1.58);
final rightLowerSlingshot = Slingshot(
length: 3.46,
angle: 26.8 * (math.pi / 180),
spritePath: Assets.images.slingshot.rightLower.keyName,
)..initialPosition = center + Vector2(24.7, -6.2);
await addFromBlueprint(Slingshots());
await ready();
await addAll([
leftUpperSlingshot,
leftLowerSlingshot,
rightUpperSlingshot,
rightLowerSlingshot,
]);
camera.followVector2(Vector2.zero());
if (trace) {
leftUpperSlingshot.trace();
leftLowerSlingshot.trace();
rightUpperSlingshot.trace();
rightLowerSlingshot.trace();
}
if (trace) traceAllBodies();
}
}

@ -37,11 +37,8 @@ class SparkyBumperGame extends BasicBallGame {
sparkyBumperB,
sparkyBumperC,
]);
await ready();
if (trace) {
sparkyBumperA.trace();
sparkyBumperB.trace();
sparkyBumperC.trace();
}
if (trace) traceAllBodies();
}
}

Loading…
Cancel
Save