El programa principal quan fem servir Flame és força diferent del que tenim en les aplicacions de Flutter normals.
import 'package:flame/game.dart'; import 'package:flutter/material.dart';
void main() {
final game = FlameGame();
runApp(GameWidget(game: game));
}
El giny GameWidget és el que ens permet executar el joc dins de l'aplicació. En el programa anterior hi hem posat el joc FlameGame que ja ve per defecte i que, de fet, no fa res. Els nostres jocs seran extensions del joc per defecte.
Important: Quan es simulen les aplicacions fetes amb Flame cal sempre recarregar-les completament (amb el botó
), l'actualització ràpida no funciona.
Quan es controlen els estats del joc, aquest es defineix com una classe:
class GameApp extends StatelessWidget {
const GameApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
...
child: GameWidget.controlled(
gameFactory: Breakout.new,
overlayBuilderMap: {
PlayState.inici.name: (context, game) => Center(
child: Text(
'PICA PER COMENÇAR',
style: Theme.of(context).textTheme.headlineLarge,
),
),
...
}
)
...
Llavors el programa principal quedaria així:
void main() {
runApp(const GameApp());
}

Aquesta obra d'Oriol Boix està llicenciada sota una llicència no importada Reconeixement-NoComercial-SenseObraDerivada 3.0.