import 'package:flutter/material.dart'; import 'package:rive/rive.dart'; class SimpleStateMachine extends StatefulWidget { const SimpleStateMachine({Key? key}) : super(key: key); @override _SimpleStateMachineState createState() => _SimpleStateMachineState(); } class _SimpleStateMachineState extends State { SMITrigger? _bump; void _onRiveInit(Artboard artboard) { final controller = StateMachineController.fromArtboard(artboard, 'bumpy'); artboard.addController(controller!); _bump = controller.findInput('bump') as SMITrigger; } void _hitBump() => _bump?.fire(); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: const Text('Simple Animation'), ), body: Center( child: GestureDetector( child: RiveAnimation.network( 'https://cdn.rive.app/animations/vehicles.riv', fit: BoxFit.cover, onInit: _onRiveInit, ), onTap: _hitBump, ), ), ); } }