mirror of https://github.com/flutter/pinball.git
parent
253feb5c23
commit
a563d6a20d
@ -0,0 +1,63 @@
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:flame/input.dart';
|
||||
import 'package:pinball_components/pinball_components.dart';
|
||||
import 'package:sandbox/common/common.dart';
|
||||
|
||||
class ScoreGame extends AssetsGame with TapDetector {
|
||||
ScoreGame()
|
||||
: super(
|
||||
imagesFileNames: [
|
||||
Assets.images.score.points1m.keyName,
|
||||
Assets.images.score.points1m2.keyName,
|
||||
Assets.images.score.points2m.keyName,
|
||||
Assets.images.score.points3m.keyName,
|
||||
Assets.images.score.points4m.keyName,
|
||||
Assets.images.score.points5k.keyName,
|
||||
Assets.images.score.points5m.keyName,
|
||||
Assets.images.score.points6m.keyName,
|
||||
Assets.images.score.points10k.keyName,
|
||||
Assets.images.score.points15k.keyName,
|
||||
Assets.images.score.points20k.keyName,
|
||||
Assets.images.score.points25k.keyName,
|
||||
Assets.images.score.points30k.keyName,
|
||||
Assets.images.score.points40k.keyName,
|
||||
Assets.images.score.points50k.keyName,
|
||||
Assets.images.score.points60k.keyName,
|
||||
Assets.images.score.points80k.keyName,
|
||||
Assets.images.score.points100k.keyName,
|
||||
Assets.images.score.points120k.keyName,
|
||||
Assets.images.score.points200k.keyName,
|
||||
Assets.images.score.points400k.keyName,
|
||||
Assets.images.score.points600k.keyName,
|
||||
Assets.images.score.points800k.keyName,
|
||||
],
|
||||
);
|
||||
|
||||
static const description = '''
|
||||
Simple game to show how score component works,
|
||||
|
||||
- Tap anywhere on the screen to spawn an image on the given location.
|
||||
''';
|
||||
|
||||
final random = Random();
|
||||
|
||||
@override
|
||||
Future<void> onLoad() async {
|
||||
await super.onLoad();
|
||||
camera.followVector2(Vector2.zero());
|
||||
}
|
||||
|
||||
@override
|
||||
void onTapUp(TapUpInfo info) {
|
||||
final index = random.nextInt(Score.values.length);
|
||||
final score = Score.values[index];
|
||||
|
||||
add(
|
||||
ScoreComponent(
|
||||
score: score,
|
||||
position: info.eventPosition.game..multiply(Vector2(1, -1)),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -0,0 +1,11 @@
|
||||
import 'package:dashbook/dashbook.dart';
|
||||
import 'package:sandbox/common/common.dart';
|
||||
import 'package:sandbox/stories/score/score_game.dart';
|
||||
|
||||
void addScoreStories(Dashbook dashbook) {
|
||||
dashbook.storiesOf('Score').addGame(
|
||||
title: 'Basic',
|
||||
description: ScoreGame.description,
|
||||
gameBuilder: (_) => ScoreGame(),
|
||||
);
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
import 'dart:math';
|
||||
|
||||
import 'package:flame/input.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:pinball_components/pinball_components.dart';
|
||||
import 'package:sandbox/common/common.dart';
|
||||
|
||||
class ScoreTextGame extends AssetsGame with TapDetector {
|
||||
static const description = '''
|
||||
Simple game to show how score text works,
|
||||
|
||||
- Tap anywhere on the screen to spawn an text on the given location.
|
||||
''';
|
||||
|
||||
final random = Random();
|
||||
|
||||
@override
|
||||
Future<void> onLoad() async {
|
||||
camera.followVector2(Vector2.zero());
|
||||
}
|
||||
|
||||
@override
|
||||
void onTapUp(TapUpInfo info) {
|
||||
final index = random.nextInt(Score.values.length);
|
||||
final score = Score.values[index];
|
||||
|
||||
add(
|
||||
ScoreText(
|
||||
score: score,
|
||||
position: info.eventPosition.game..multiply(Vector2(1, -1)),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
@ -1,11 +0,0 @@
|
||||
import 'package:dashbook/dashbook.dart';
|
||||
import 'package:sandbox/common/common.dart';
|
||||
import 'package:sandbox/stories/score_text/score_text_game.dart';
|
||||
|
||||
void addScoreTextStories(Dashbook dashbook) {
|
||||
dashbook.storiesOf('ScoreText').addGame(
|
||||
title: 'Basic',
|
||||
description: ScoreTextGame.description,
|
||||
gameBuilder: (_) => ScoreTextGame(),
|
||||
);
|
||||
}
|
Loading…
Reference in new issue