mirror of
https://github.com/flame-engine/flame.git
synced 2025-11-01 01:18:38 +08:00
39 lines
898 B
Dart
39 lines
898 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);
|
|
|
|
@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));
|
|
}
|
|
}
|