mirror of
https://github.com/flame-engine/flame.git
synced 2025-11-03 20:36:31 +08:00
Proper reset in sequence
This commit is contained in:
@ -56,7 +56,7 @@ class MyGame extends BaseGame with TapDetector {
|
|||||||
|
|
||||||
final scale = ScaleEffect(
|
final scale = ScaleEffect(
|
||||||
size: Vector2(dx, dy),
|
size: Vector2(dx, dy),
|
||||||
speed: 250.0,
|
speed: 100.0,
|
||||||
curve: Curves.easeInCubic,
|
curve: Curves.easeInCubic,
|
||||||
isInfinite: false,
|
isInfinite: false,
|
||||||
isAlternating: false,
|
isAlternating: false,
|
||||||
@ -72,15 +72,14 @@ class MyGame extends BaseGame with TapDetector {
|
|||||||
|
|
||||||
final combination = CombinedEffect(
|
final combination = CombinedEffect(
|
||||||
effects: [move2, rotate],
|
effects: [move2, rotate],
|
||||||
isAlternating: false,
|
isAlternating: true,
|
||||||
isInfinite: true,
|
|
||||||
);
|
);
|
||||||
|
|
||||||
final sequence = SequenceEffect(
|
final sequence = SequenceEffect(
|
||||||
effects: [move1, scale, combination],
|
effects: [move1, scale, combination],
|
||||||
isInfinite: true,
|
isInfinite: false,
|
||||||
isAlternating: false,
|
isAlternating: true,
|
||||||
);
|
);
|
||||||
greenSquare.addEffect(combination);
|
greenSquare.addEffect(sequence);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,10 +64,13 @@ class CombinedEffect extends PositionComponentEffect {
|
|||||||
@override
|
@override
|
||||||
void reset() {
|
void reset() {
|
||||||
super.reset();
|
super.reset();
|
||||||
effects.forEach((effect) => effect.reset());
|
|
||||||
if (component != null) {
|
if (component != null) {
|
||||||
|
component.position = originalPosition;
|
||||||
|
component.angle = originalAngle;
|
||||||
|
component.size = originalSize;
|
||||||
initialize(component);
|
initialize(component);
|
||||||
}
|
}
|
||||||
|
effects.forEach((effect) => effect.reset());
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@ -92,10 +92,12 @@ class SequenceEffect extends PositionComponentEffect {
|
|||||||
@override
|
@override
|
||||||
void reset() {
|
void reset() {
|
||||||
super.reset();
|
super.reset();
|
||||||
component.position = originalPosition;
|
effects.forEach((e) => e.reset());
|
||||||
component.angle = originalAngle;
|
if(component != null) {
|
||||||
component.size = originalSize;
|
component.position = originalPosition;
|
||||||
initialize(component);
|
component.angle = originalAngle;
|
||||||
//effects.forEach((e) => e.reset());
|
component.size = originalSize;
|
||||||
|
initialize(component);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user