⚠️ Under Heavy DevelopmentGOO2D is in an early, active phase of development. APIs may change without notice. External contributions may not be accepted while the core architecture is being finalized.
A Flutter package for building 2D games using an Entity-Component pattern.
dependencies:
goo2d: ^1.0.0import 'package:flutter/material.dart';
import 'package:goo2d/goo2d.dart';
void main() {
runApp(const MaterialApp(
home: Scaffold(body: Game(child: Player())),
));
}
class Player extends StatefulGameWidget {
const Player({super.key});
@override
GameState createState() => PlayerState();
}
class PlayerState extends GameState<Player> with Tickable {
@override
void initState() {
super.initState();
addComponent(
ObjectTransform()..position = Vector2.zero(),
SpriteRenderer(),
);
}
@override
void onUpdate(double dt) {
getComponent<ObjectTransform>().position += Vector2(2 * dt, 0);
}
}cd example
flutter run