mirror of
https://github.com/flame-engine/flame.git
synced 2025-11-01 19:12:31 +08:00
This moves the CameraComponent and the new event system out of experimental since this now is the recommended way of handling things.
40 lines
1.0 KiB
Dart
40 lines
1.0 KiB
Dart
import 'package:flame/components.dart';
|
|
import 'package:flame/events.dart';
|
|
import 'package:flame/extensions.dart';
|
|
import 'package:flame/game.dart';
|
|
|
|
class PriorityExample extends FlameGame {
|
|
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>, TapCallbacks {
|
|
Square(Vector2 position)
|
|
: super(
|
|
position: position,
|
|
size: Vector2.all(100),
|
|
paint: PaintExtension.random(withAlpha: 0.9, base: 100),
|
|
);
|
|
|
|
@override
|
|
void onTapDown(TapDownEvent event) {
|
|
final topComponent = gameRef.children.last;
|
|
if (topComponent != this) {
|
|
priority = topComponent.priority + 1;
|
|
}
|
|
}
|
|
}
|