24 lines
739 B
Dart
24 lines
739 B
Dart
part of game;
|
|
|
|
class Flash extends NodeWithSize {
|
|
Flash(Size size, this.duration) : super(size) {
|
|
ActionTween fade = new ActionTween((double a) { _opacity = a; }, 1.0, 0.0, duration);
|
|
ActionSequence seq = new ActionSequence(<Action>[fade, new ActionRemoveNode(this)]);
|
|
actions.run(seq);
|
|
}
|
|
|
|
double duration;
|
|
double _opacity = 1.0;
|
|
Paint _cachedPaint = new Paint();
|
|
|
|
void paint(PaintingCanvas canvas) {
|
|
// Update the color
|
|
_cachedPaint.color = new Color.fromARGB((255.0 * _opacity).toInt(),
|
|
255, 255, 255);
|
|
// Fill the area
|
|
applyTransformForPivot(canvas);
|
|
canvas.drawRect(new Rect.fromLTRB(0.0, 0.0, size.width, size.height),
|
|
_cachedPaint);
|
|
}
|
|
}
|