mirror of
https://github.com/flame-engine/flame.git
synced 2025-10-31 00:48:47 +08:00
* Draft of PositionComponent.scale * Use matrix transformations * Update tests to take matrix transform into consideration * Add tests for collision detection with scale * Rename ScaleEffect to SizeEffect * Use transform matrix to prepare canvas * Fix scaledSizeCache * Add changelog entries and docs * Dartdoc on public access methods * Update packages/flame/CHANGELOG.md Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net> * Move cache classes to own directory Co-authored-by: Jochum van der Ploeg <jochum@vdploeg.net>
36 lines
782 B
Dart
36 lines
782 B
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:flutter/material.dart';
|
|
|
|
import '../../commons/square_component.dart';
|
|
|
|
class SizeEffectGame extends BaseGame with TapDetector {
|
|
late SquareComponent square;
|
|
bool grow = true;
|
|
|
|
@override
|
|
Future<void> onLoad() async {
|
|
square = SquareComponent()
|
|
..position.setValues(200, 200)
|
|
..anchor = Anchor.center;
|
|
add(square);
|
|
}
|
|
|
|
@override
|
|
void onTap() {
|
|
final s = grow ? 300.0 : 100.0;
|
|
|
|
grow = !grow;
|
|
square.addEffect(
|
|
SizeEffect(
|
|
size: Vector2.all(s),
|
|
speed: 250.0,
|
|
curve: Curves.bounceInOut,
|
|
),
|
|
);
|
|
}
|
|
}
|