mirror of
https://github.com/flame-engine/flame.git
synced 2025-11-03 04:18:25 +08:00
* Added flame_oxygen * Reworked structure * Added components and example * Added particle support * Updated code * Update example * Fixed mistake * Update * Updated documentation * Added system documentation * Fixed line length * Added most components docs * Docs done? * Update doc/oxygen.md Co-authored-by: Erick <erickzanardoo@gmail.com> * Added GameRef * Fixed GameRef * Reworked library to not use part system * Added GameRef docs * Removed library line * Updated CHANGELOG * Added License * Fixed linting problem * Update packages/flame_oxygen/example/lib/main.dart Co-authored-by: Lukas Klingsbo <lukas.klingsbo@gmail.com> * Update after review from spydon * Added flipping * Fixed CI/CD * Fix * Update * Update doc/oxygen.md Co-authored-by: Renan <6718144+renancaraujo@users.noreply.github.com> Co-authored-by: Erick <erickzanardoo@gmail.com> Co-authored-by: Lukas Klingsbo <lukas.klingsbo@gmail.com> Co-authored-by: Renan <6718144+renancaraujo@users.noreply.github.com>
52 lines
1.4 KiB
Dart
52 lines
1.4 KiB
Dart
import 'dart:math';
|
|
|
|
import 'package:flame/game.dart';
|
|
import 'package:flame_oxygen/flame_oxygen.dart';
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:flutter/material.dart';
|
|
|
|
import 'component/timer_component.dart';
|
|
import 'component/velocity_component.dart';
|
|
import 'system/debug_system.dart';
|
|
import 'system/kawabunga_system.dart';
|
|
import 'system/move_system.dart';
|
|
import 'system/sprite_system.dart';
|
|
|
|
void main() {
|
|
runApp(GameWidget(game: ExampleGame()));
|
|
}
|
|
|
|
class ExampleGame extends OxygenGame with FPSCounter {
|
|
@override
|
|
Future<void> init() async {
|
|
if (kDebugMode) {
|
|
world.registerSystem(DebugSystem());
|
|
}
|
|
world.registerSystem(MoveSystem());
|
|
world.registerSystem(SpriteSystem());
|
|
world.registerSystem(KawabungaSystem());
|
|
|
|
world.registerComponent<TimerComponent, double>(() => TimerComponent());
|
|
world.registerComponent<VelocityComponent, Vector2>(
|
|
() => VelocityComponent(),
|
|
);
|
|
|
|
final random = Random();
|
|
for (var i = 0; i < 10; i++) {
|
|
createEntity(
|
|
name: 'Entity $i',
|
|
position: size / 2,
|
|
size: Vector2.all(64),
|
|
angle: 0,
|
|
)
|
|
..add<SpriteComponent, SpriteInit>(
|
|
SpriteInit(await loadSprite('pizza.png')),
|
|
)
|
|
..add<VelocityComponent, Vector2>(Vector2(
|
|
random.nextDouble() * 100 * (random.nextBool() ? 1 : -1),
|
|
random.nextDouble() * 100 * (random.nextBool() ? 1 : -1),
|
|
));
|
|
}
|
|
}
|
|
}
|