diff --git a/examples/lib/stories/camera_and_viewport/camera_component_example.dart b/examples/lib/stories/camera_and_viewport/camera_component_example.dart index e7cb8ea6d..908f7a0dd 100644 --- a/examples/lib/stories/camera_and_viewport/camera_component_example.dart +++ b/examples/lib/stories/camera_and_viewport/camera_component_example.dart @@ -9,7 +9,7 @@ import 'package:flame/geometry.dart'; import 'package:flame/input.dart'; import 'package:flutter/painting.dart'; -class CameraComponentExample extends FlameGame with PanDetector { +class CameraComponentExample extends FlameGame with PanDetector { static const description = ''' This example shows how a camera can be dynamically added into a game using a CameraComponent. @@ -18,6 +18,8 @@ class CameraComponentExample extends FlameGame with PanDetector { look at the world underneath! '''; + CameraComponentExample() : super(world: AntWorld()); + late final CameraComponent magnifyingGlass; late final Vector2 center; static const zoom = 10.0; @@ -28,13 +30,11 @@ class CameraComponentExample extends FlameGame with PanDetector { @override Future onLoad() async { - final world = AntWorld(); - await add(world); - final camera = CameraComponent(world: world); - await add(camera); - final offset = world.curve.boundingRect().center; - center = offset.toVector2(); - camera.viewfinder.position = Vector2(center.x, center.y); + world.loaded.then((_) { + final offset = world.curve.boundingRect().center; + center = offset.toVector2(); + camera.viewfinder.position = Vector2(center.x, center.y); + }); magnifyingGlass = CameraComponent(world: world, viewport: CircularViewport(radius));