1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 |
import 'package:flare_flutter/flare_cache.dart'; import 'package:flare_flutter/provider/asset_flare.dart'; import 'package:flutter/services.dart' show rootBundle; final _assetsToWarmup = [ AssetFlare(bundle: rootBundle, name: "assets/homeimages/Scanutt_MainStatus_V001.flr"), AssetFlare(bundle: rootBundle, name: "assets/toyimages/Scanutt_Play_V001.flr"), AssetFlare(bundle: rootBundle, name: "assets/bathimages/Scanutt_Wash_V1.flr"), AssetFlare(bundle: rootBundle, name: "assets/foodimages/Scanutt_EatDrink_V001.flr"), ]; Future<void> warmupFlare() async { for (final asset in _assetsToWarmup) { await cachedActor(asset); } } FlareCache.doesPrune = false; // Warm the cache up. await warmupFlare(); --------- 以上是预载入部分 , 如果要使用预载入的flr文件 ,如下 : import 'package:flare_flutter/flare_actor.dart'; import 'home_flr_controller.dart'; import 'package:flare_flutter/flare_cache_builder.dart'; import 'package:flare_flutter/provider/asset_flare.dart'; import 'package:flutter/services.dart' show rootBundle; Visibility( visible: normalFlrVisible, child: // FlareActor( // "assets/homeimages/Scanutt_MainStatus_V001.flr", // controller: _normalController, // animation: "Blink", // ), FlareCacheBuilder( [AssetFlare(bundle: rootBundle, name: "assets/homeimages/Scanutt_MainStatus_V001.flr")], builder: (BuildContext context, bool isWarm) { return !isWarm ? Container(child: Text("Loading...")) : FlareActor( "assets/homeimages/Scanutt_MainStatus_V001.flr", controller: _normalController, alignment: Alignment.center, fit: BoxFit.contain, animation: "Blink", ); }, ), ), |
来源 :
https://github.com/2d-inc/Flare-Flutter/issues/110 预载入 flr 文件
https://github.com/2d-inc/Flare-Flutter/issues/235 一样
https://github.com/2d-inc/Flare-Flutter/issues/180#issuecomment-550584347