Skip to content

sunarya-thito/goo2d

Repository files navigation

GOO2D

GOO2D

Documentation Build Status Flutter License: BSD-3-Clause

⚠️ Under Heavy Development

GOO2D 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.

Documentation

Installation

dependencies:
  goo2d: ^1.0.0

Example

import '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);
  }
}

Running the example app

cd example
flutter run

About

A low-level 2D game engine for Flutter

Topics

Resources

License

Contributing

Stars

5 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors