Files
flame/examples/lib/stories/components/priority_example.dart
Lukas Klingsbo db336c03b6 feat: Children as argument to FlameGame (#1680)
Since we have already added children as an argument to Component, this adds it to the FlameGame.
2022-06-01 22:58:59 +02:00

41 lines
1.1 KiB
Dart

import 'package:flame/components.dart';
import 'package:flame/extensions.dart';
import 'package:flame/game.dart';
import 'package:flame/input.dart';
class PriorityExample extends FlameGame with HasTappables {
static const String description = '''
On this example, click on the square to bring them to the front by changing
the priority.
''';
PriorityExample()
: super(
children: [
Square(Vector2(100, 100)),
Square(Vector2(160, 100)),
Square(Vector2(170, 150)),
Square(Vector2(110, 150)),
],
);
}
class Square extends RectangleComponent
with HasGameRef<PriorityExample>, Tappable {
Square(Vector2 position)
: super(
position: position,
size: Vector2.all(100),
paint: PaintExtension.random(withAlpha: 0.9, base: 100),
);
@override
bool onTapDown(TapDownInfo info) {
final topComponent = gameRef.children.last;
if (topComponent != this) {
gameRef.children.changePriority(this, topComponent.priority + 1);
}
return false;
}
}