Files
flame/examples/lib/stories/effects/old_scale_effect_example.dart
Lukas Klingsbo e6e5a1582c Refactored ScaleEffect to the new effects engine (#1123)
* Scale effect

* Scale effect should affect scale...

* Add ScaleEffect example

* Added `ScaleEffect`

* Fix analyze issue

* Fix ScaleEffect tests
2021-11-20 02:20:06 +01:00

49 lines
1.3 KiB
Dart

import 'package:flame/components.dart';
import 'package:flame/effects.dart';
import 'package:flame/extensions.dart';
import 'package:flame/game.dart';
import 'package:flame/input.dart';
import 'package:flame/palette.dart';
import 'package:flutter/material.dart';
import '../../commons/square_component.dart';
class OldScaleEffectExample extends FlameGame with TapDetector {
static const String description = '''
The `ScaleEffect` scales up the canvas before drawing the components and its
children.
In this example you can tap the screen and the component will scale up or down,
depending on its current state.
''';
late SquareComponent square;
bool grow = true;
@override
Future<void> onLoad() async {
await super.onLoad();
square = SquareComponent()
..position.setValues(200, 200)
..anchor = Anchor.center;
square.paint = BasicPalette.white.paint()..style = PaintingStyle.stroke;
final childSquare = SquareComponent(position: Vector2.all(70), size: 20);
square.add(childSquare);
add(square);
}
@override
void onTap() {
final s = grow ? 3.0 : 1.0;
grow = !grow;
square.add(
ScaleEffect(
scale: Vector2.all(s),
speed: 2.0,
curve: Curves.linear,
),
);
}
}