mirror of
https://github.com/flame-engine/flame.git
synced 2025-10-30 00:17:20 +08:00
feat: Adding on game resize example (#3260)
Simple example to test the `onGameResize` lifecycle method. https://github.com/user-attachments/assets/e0a874e9-f1f8-4fc3-b9bd-11a726a22794
This commit is contained in:
30
examples/lib/stories/system/resize_example.dart
Normal file
30
examples/lib/stories/system/resize_example.dart
Normal file
@ -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.
|
||||
''';
|
||||
}
|
||||
@ -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';
|
||||
@ -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,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user