mirror of
https://github.com/flame-engine/flame.git
synced 2025-10-30 08:27:36 +08:00
feat: Add HasTimeScale mixin (#2431)
This PR adds a new mixin on Component. When attached to a component, it allows scaling the delta time of that component as well as all its children by a non-negative factor. The idea is to allows slowing down or speeding up the gameplay by change the scaling factor. Note: This approach works only for framerate independent game logic. Code in update() that is not dependent on delta time will remain unaffected by time scale.
This commit is contained in:
@ -9,6 +9,7 @@ import 'package:examples/stories/components/game_in_game_example.dart';
|
||||
import 'package:examples/stories/components/look_at_example.dart';
|
||||
import 'package:examples/stories/components/look_at_smooth_example.dart';
|
||||
import 'package:examples/stories/components/priority_example.dart';
|
||||
import 'package:examples/stories/components/time_scale_example.dart';
|
||||
import 'package:flame/game.dart';
|
||||
|
||||
void addComponentsStories(Dashbook dashbook) {
|
||||
@ -67,5 +68,13 @@ void addComponentsStories(Dashbook dashbook) {
|
||||
codeLink:
|
||||
baseLink('components/components_notifier_provider_example.dart'),
|
||||
info: ComponentsNotifierProviderExampleWidget.description,
|
||||
)
|
||||
..add(
|
||||
'Time Scale',
|
||||
(_) => const GameWidget.controlled(
|
||||
gameFactory: TimeScaleExample.new,
|
||||
),
|
||||
codeLink: baseLink('components/time_scale_example.dart'),
|
||||
info: TimeScaleExample.description,
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user