使用控制器参数flutter时Flare Actor突然消失
Posted
技术标签:
【中文标题】使用控制器参数flutter时Flare Actor突然消失【英文标题】:Flare Actor suddenly disappears when using controller parameter flutter 【发布时间】:2020-09-26 19:43:19 【问题描述】:我尝试在我的应用程序中使用flare 来设计一个带有进度条的评分屏幕,但我遇到了一个错误“每当我尝试添加控制器参数时,flare 就会突然消失”并出现错误。
getter 'duration' 在 null 上被调用。
接收者:空
尝试调用:持续时间
我在下面附上了所需的代码
FlareRateController _flareController;
void updateDragPosition(Offset offset)
setState(()
_dragPercent = (offset.dx / sliderWidth).clamp(0.0, 1.0);
_flareController.updatePercent(_dragPercent);
);
void initState()
super.initState();
_flareController = FlareRateController();
SystemChrome.setEnabledSystemUIOverlays([]);
_buildFlareActor() => SizedBox(
width: 1100.w,
height: 680.h,
child: FlareActor(
"assets/rate.flr",
artboard: "Artboard",
controller: _flareController,
),
);
FlareRatecontroller 类是
class FlareRateController extends FlareController
FlutterActorArtboard _artboard;
ActorAnimation _rateAnimation;
double _slidePercent = 0.0;
double _currentSlide = 0.0;
double _smoothTime = 5;
void updatePercent(double val)
_slidePercent = val;
@override
void initialize(FlutterActorArtboard artboard)
if (artboard.name.compareTo("Artboard") == 0)
_artboard = artboard;
_rateAnimation = artboard.getAnimation("Slide");
@override
bool advance(FlutterActorArtboard artboard, double elapsed)
if (artboard.name.compareTo("Artboard") == 0)
_currentSlide += (_slidePercent - _currentSlide) *
math.min(
1,
elapsed * _smoothTime,
);
_rateAnimation.apply(
_currentSlide * _rateAnimation.duration, artboard, 1); //error here in duration
return true;
@override
void setViewTransform(Mat2D viewTransform)
// TODO: implement setViewTransform
错误在 _rateAnimation.duration 中(已经评论过谎言)
【问题讨论】:
【参考方案1】:你的 Flare Actor 消失了,因为属性“duration”返回 null
我找到了这个速率应用程序速度代码并复制,因为我需要有关代码的更多信息。这就是我发现的:
您的代码正在为您的 ActorAnimation 获取动画,例如“Slide”。尝试更改“Slide”参数并设置“slide”(s 小写)
然后再次运行您的应用程序并告诉我您是否得到它。
【讨论】:
以上是关于使用控制器参数flutter时Flare Actor突然消失的主要内容,如果未能解决你的问题,请参考以下文章