Skip to content

Instantly share code, notes, and snippets.

@Solido
Created August 10, 2019 15:11
Show Gist options
  • Save Solido/84b33c4fde7ff07af2d604e45a1d0d8d to your computer and use it in GitHub Desktop.
Save Solido/84b33c4fde7ff07af2d604e45a1d0d8d to your computer and use it in GitHub Desktop.
Wind Turbine Speed
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