diff --git a/CHANGELOG.md b/CHANGELOG.md index e21993696..9d5b8702c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ # CHANGELOG ## [next] - - Adding method to load image bases on base64 data url. +- Adding method to load image bases on base64 data url. +- Fix Box2DGame to follow render priority ## 0.20.0 - Refactor game.dart classes into separate files diff --git a/doc/examples/box2d/lib/main.dart b/doc/examples/box2d/lib/main.dart index fb4760c92..5f5673a9a 100644 --- a/doc/examples/box2d/lib/main.dart +++ b/doc/examples/box2d/lib/main.dart @@ -7,6 +7,7 @@ import 'package:flutter/material.dart'; import 'package:box2d_flame/box2d.dart'; void main() async { + WidgetsFlutterBinding.ensureInitialized(); await Flame.util.fullScreen(); runApp(GameController().widget); } @@ -19,8 +20,8 @@ class MyPlanet extends BodyComponent { // After 20 seconds the circle will be removed, to show that we don't get // any concurrent modification exceptions. MyPlanet(Box2DComponent box) : super(box) { - Vector2 leftCorner = viewport.getScreenToWorld(Vector2.zero()); - _createBody(50.0, leftCorner); + Vector2 center = viewport.getScreenToWorld(viewport.center); + _createBody(50.0, center); } void _createBody(double radius, Vector2 position) { @@ -40,8 +41,7 @@ class MyPlanet extends BodyComponent { bodyDef.angularVelocity = 4.0; bodyDef.type = BodyType.DYNAMIC; - this.body = world.createBody(bodyDef) - ..createFixtureFromFixtureDef(fixtureDef); + body = world.createBody(bodyDef)..createFixtureFromFixtureDef(fixtureDef); } @override diff --git a/lib/box2d/box2d_game.dart b/lib/box2d/box2d_game.dart index 04d620b09..16014fa07 100644 --- a/lib/box2d/box2d_game.dart +++ b/lib/box2d/box2d_game.dart @@ -8,7 +8,9 @@ class Box2DGame extends BaseGame { final Box2DComponent box; final List _addLater = []; - Box2DGame(this.box) : super(); + Box2DGame(this.box) : super() { + add(box); + } @override void add(Component c) { @@ -31,7 +33,6 @@ class Box2DGame extends BaseGame { @override void update(double t) { super.update(t); - box.update(t); box.components .where((c) => c.destroy()) .toList() @@ -39,10 +40,4 @@ class Box2DGame extends BaseGame { box.addAll(_addLater); _addLater.clear(); } - - @override - void render(Canvas c) { - super.render(c); - box.render(c); - } }