Created
August 10, 2019 15:11
-
-
Save Solido/84b33c4fde7ff07af2d604e45a1d0d8d to your computer and use it in GitHub Desktop.
Wind Turbine Speed
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import 'package:flare_dart/math/mat2d.dart'; | |
import 'package:flare_flutter/'; | |
import 'package:flare_flutter/flare.dart'; | |
import 'package:flare_flutter/flare_actor.dart'; | |
import 'package:flare_flutter/flare_controller.dart'; | |
import 'package:flutter/foundation.dart' | |
show debugDefaultTargetPlatformOverride; | |
import 'package:flutter/material.dart'; | |
void main() { | |
debugDefaultTargetPlatformOverride = TargetPlatform.fuchsia; | |
runApp(EolApp()); | |
} | |
class EolApp extends StatelessWidget { | |
@override | |
Widget build(BuildContext context) { | |
return MaterialApp( | |
home: EolPage(), | |
); | |
} | |
} | |
class EolPage extends StatefulWidget { | |
EolPage({Key key}) : super(key: key); | |
@override | |
_EolPageState createState() => _EolPageState(); | |
} | |
class _EolPageState extends State<EolPage> implements FlareController { | |
ActorAnimation _rotation; | |
ActorNode _pales; | |
FlutterActorArtboard _artboard; | |
double _time = 0; | |
double _speed = .5; | |
@override | |
bool advance(FlutterActorArtboard artboard, double elapsed) { | |
_time += elapsed * _speed; | |
_rotation.apply(_time % 4, artboard, 1); | |
return true; | |
} | |
@override | |
void initialize(FlutterActorArtboard artboard) { | |
_pales = artboard.getNode("Pales"); | |
_rotation = artboard.getAnimation('rotation'); | |
} | |
@override | |
void setViewTransform(Mat2D viewTransform) {} | |
void _speedUp() { | |
setState(() { | |
_speed += .4; | |
}); | |
} | |
@override | |
Widget build(BuildContext context) { | |
return Scaffold( | |
body: Center( | |
child: FlareActor("assets/eol.flr", | |
fit: BoxFit.contain, | |
alignment: Alignment.center, | |
animation: 'rotation', | |
controller: this), | |
), | |
floatingActionButton: FloatingActionButton( | |
onPressed: _speedUp, | |
child: Icon(Icons.add), | |
), | |
); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment