mirror of
				https://github.com/flame-engine/flame.git
				synced 2025-11-01 01:18:38 +08:00 
			
		
		
		
	 87b8a067f3
			
		
	
	87b8a067f3
	
	
	
		
			
			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;
 | |
|     }
 | |
|   }
 | |
| }
 |