mirror of
				https://github.com/flame-engine/flame.git
				synced 2025-11-04 13:08:09 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Dart
		
	
	
	
	
	
import 'dart:ui';
 | 
						|
 | 
						|
import 'package:flame/anchor.dart';
 | 
						|
import 'package:flame/audio_pool.dart';
 | 
						|
import 'package:flame/flame.dart';
 | 
						|
import 'package:flame/game.dart';
 | 
						|
import 'package:flame/palette.dart';
 | 
						|
import 'package:flame/position.dart';
 | 
						|
import 'package:flame/text_config.dart';
 | 
						|
import 'package:flutter/gestures.dart';
 | 
						|
import 'package:flutter/material.dart';
 | 
						|
 | 
						|
void main() async {
 | 
						|
  final Size size = await Flame.util.initialDimensions();
 | 
						|
  final MyGame game = MyGame(size);
 | 
						|
  runApp(game.widget);
 | 
						|
 | 
						|
  final TapGestureRecognizer taps = TapGestureRecognizer()
 | 
						|
    ..onTapDown = (_) => game.tap();
 | 
						|
  Flame.util.addGestureRecognizer(taps);
 | 
						|
}
 | 
						|
 | 
						|
TextConfig regular = TextConfig(color: BasicPalette.white.color);
 | 
						|
AudioPool pool = AudioPool('laser.mp3');
 | 
						|
 | 
						|
class MyGame extends BaseGame {
 | 
						|
  MyGame(Size screenSize) {
 | 
						|
    size = screenSize;
 | 
						|
  }
 | 
						|
 | 
						|
  @override
 | 
						|
  void render(Canvas canvas) {
 | 
						|
    canvas.drawRect(Rect.fromLTWH(0.0, 0.0, size.width, size.height),
 | 
						|
        BasicPalette.black.paint);
 | 
						|
    regular.render(canvas, 'hit me!', Position.fromSize(size).div(2),
 | 
						|
        anchor: Anchor.center);
 | 
						|
    super.render(canvas);
 | 
						|
  }
 | 
						|
 | 
						|
  void tap() {
 | 
						|
    pool.start();
 | 
						|
  }
 | 
						|
}
 |