Skip to content

Commit

Permalink
feat: Adding on game resize example (#3260)
Browse files Browse the repository at this point in the history
Simple example to test the `onGameResize` lifecycle method.


https://github.com/user-attachments/assets/e0a874e9-f1f8-4fc3-b9bd-11a726a22794
  • Loading branch information
erickzanardo authored Aug 9, 2024
1 parent bf9a248 commit 4af00c1
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
30 changes: 30 additions & 0 deletions examples/lib/stories/system/resize_example.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import 'dart:ui';

import 'package:flame/components.dart';
import 'package:flame/game.dart';

class ResizingRectangle extends RectangleComponent {
ResizingRectangle()
: super(
paint: Paint()..color = const Color(0xFFFE4813),
);

@override
void onGameResize(Vector2 size) {
super.onGameResize(size);

this.size = size * .4;
}
}

class ResizeExampleGame extends FlameGame {
ResizeExampleGame() : super(children: [ResizingRectangle()]);

static const description = '''
This example shows how to react to the game being resized.
The rectangle will always be 40% of the screen size.
Try resizing the window and see the rectangle change its size.
''';
}
7 changes: 7 additions & 0 deletions examples/lib/stories/system/system.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import 'package:dashbook/dashbook.dart';
import 'package:examples/commons/commons.dart';
import 'package:examples/stories/system/overlays_example.dart';
import 'package:examples/stories/system/pause_resume_example.dart';
import 'package:examples/stories/system/resize_example.dart';
import 'package:examples/stories/system/step_engine_example.dart';
import 'package:examples/stories/system/without_flame_game_example.dart';
import 'package:flame/game.dart';
Expand Down Expand Up @@ -31,5 +32,11 @@ void addSystemStories(Dashbook dashbook) {
(_) => GameWidget(game: StepEngineExample()),
codeLink: baseLink('system/step_engine_game.dart'),
info: StepEngineExample.description,
)
..add(
'On Game Resize',
(_) => GameWidget(game: ResizeExampleGame()),
codeLink: baseLink('system/resize_example.dart'),
info: ResizeExampleGame.description,
);
}

0 comments on commit 4af00c1

Please sign in to comment.