Files
flame/examples/lib/stories/utils/timer_component.dart
Lukas Klingsbo da1e060594 Possibility to manually remove TimerComponent (#1065)
* Possibility to manually remove `TimerComponent`

* Fix example for TimerComponent

* Add dartdocs
2021-11-02 20:01:47 +01:00

43 lines
957 B
Dart

import 'package:flame/game.dart';
import 'package:flame/input.dart';
import 'package:flame/timer.dart';
import 'package:flutter/material.dart';
class RenderedTimeComponent extends TimerComponent {
final TextPaint textPaint = TextPaint(
config: const TextPaintConfig(
color: Color(0xFFFFFFFF),
),
);
final double yOffset;
RenderedTimeComponent(Timer timer, {this.yOffset = 150})
: super(
timer,
removeOnFinish: true,
);
@override
void render(Canvas canvas) {
super.render(canvas);
textPaint.render(
canvas,
'Elapsed time: ${timer.current.toStringAsFixed(3)}',
Vector2(10, yOffset),
);
}
}
class TimerComponentGame extends FlameGame with TapDetector, DoubleTapDetector {
@override
void onTap() {
add(RenderedTimeComponent(Timer(1)..start()));
}
@override
void onDoubleTap() {
add(RenderedTimeComponent(Timer(5)..start(), yOffset: 180));
}
}