mirror of https://github.com/flutter/pinball.git
parent
452542d702
commit
e21f8f2726
@ -0,0 +1,42 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flame/extensions.dart';
|
||||
import 'package:pinball_components/pinball_components.dart';
|
||||
import 'package:sandbox/common/common.dart';
|
||||
import 'package:sandbox/stories/ball/basic_ball_game.dart';
|
||||
|
||||
class AlienBumperGame extends BasicBallGame {
|
||||
AlienBumperGame({
|
||||
required this.trace,
|
||||
}) : super(color: const Color(0xFF0000FF));
|
||||
|
||||
static const info = '''
|
||||
Shows how a AlienBumper is rendered.
|
||||
|
||||
Activate the "trace" parameter to overlay the body.
|
||||
''';
|
||||
|
||||
final bool trace;
|
||||
|
||||
@override
|
||||
Future<void> onLoad() async {
|
||||
await super.onLoad();
|
||||
|
||||
final center = screenToWorld(camera.viewport.canvasSize! / 2);
|
||||
final alienBumperA = AlienBumper.a()
|
||||
..initialPosition = Vector2(center.x - 20, center.y - 20)
|
||||
..priority = 1;
|
||||
final alienBumperB = AlienBumper.b()
|
||||
..initialPosition = Vector2(center.x - 10, center.y + 10)
|
||||
..priority = 1;
|
||||
await addAll([
|
||||
alienBumperA,
|
||||
alienBumperB,
|
||||
]);
|
||||
|
||||
if (trace) {
|
||||
alienBumperA.trace();
|
||||
alienBumperB.trace();
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,17 @@
|
||||
import 'package:dashbook/dashbook.dart';
|
||||
import 'package:flame/game.dart';
|
||||
import 'package:sandbox/common/common.dart';
|
||||
import 'package:sandbox/stories/alien_bumper/alien_bumper_game.dart';
|
||||
|
||||
void addAlienBumperStories(Dashbook dashbook) {
|
||||
dashbook.storiesOf('Alien Bumpers').add(
|
||||
'Basic',
|
||||
(context) => GameWidget(
|
||||
game: AlienBumperGame(
|
||||
trace: context.boolProperty('Trace', true),
|
||||
),
|
||||
),
|
||||
codeLink: buildSourceLink('alien_bumper/basic.dart'),
|
||||
info: AlienBumperGame.info,
|
||||
);
|
||||
}
|
Loading…
Reference in new issue