feat!: Add CameraComponent to FlameGame (#2740)

This PR adds the `CameraComponent` and a `World` by default to the
FlameGame.
This commit is contained in:
Lukas Klingsbo
2023-09-18 21:06:37 +02:00
committed by GitHub
parent 5be6fc8cae
commit 7c2f400076
89 changed files with 1107 additions and 821 deletions

View File

@ -25,21 +25,15 @@ class JoystickAdvancedExample extends FlameGame with HasCollisionDetection {
late final TextComponent speedText;
late final TextComponent directionText;
final world = World();
late final CameraComponent cameraComponent;
@override
Future<void> onLoad() async {
cameraComponent = CameraComponent(world: world);
addAll([cameraComponent, world]);
final image = await images.load('joystick.png');
final sheet = SpriteSheet.fromColumnsAndRows(
image: image,
columns: 6,
rows: 1,
);
world.add(ScreenHitbox()..anchor = cameraComponent.viewfinder.anchor);
world.add(ScreenHitbox()..anchor = camera.viewfinder.anchor);
joystick = JoystickComponent(
knob: SpriteComponent(
sprite: sheet.getSpriteById(1),
@ -185,14 +179,14 @@ class JoystickAdvancedExample extends FlameGame with HasCollisionDetection {
)..add(directionText);
world.add(player);
cameraComponent.viewport.add(joystick);
cameraComponent.viewport.add(flipButton);
cameraComponent.viewport.add(flopButton);
cameraComponent.viewport.add(buttonComponent);
cameraComponent.viewport.add(spriteButtonComponent);
cameraComponent.viewport.add(shapeButton);
cameraComponent.viewport.add(speedWithMargin);
cameraComponent.viewport.add(directionWithMargin);
camera.viewport.add(joystick);
camera.viewport.add(flipButton);
camera.viewport.add(flopButton);
camera.viewport.add(buttonComponent);
camera.viewport.add(spriteButtonComponent);
camera.viewport.add(shapeButton);
camera.viewport.add(speedWithMargin);
camera.viewport.add(directionWithMargin);
}
@override