Bear_log_in

使用 JCToon's Flare 文件作为自定义 UI 组件构建的示例。
熊会跟随您的光标移动,或在您移动光标时移动。

概述

基本思想是使用 JCToon 文件中的 ctrl_face 节点来改变泰迪的注视方向,就像右侧的 gif 中所示的那样。

这是通过使用 自定义FlareControls 完成的,该控件位于/lib/bear_log_in_controller.dart

FlareControlsFlareController 接口的自定义实现。
界面可以在 flare_actor.dart 中找到,它有三个方法

abstract class FlareController {
  void initialize(FlutterActorArtboard artboard);
  void setViewTransform(Mat2D viewTransform);
  bool advance(FlutterActorArtboard artboard, double elapsed);
}

BearLogInController 的一个实例被传递给 /lib/main.dart 中的FlareActor。这会将控制器绑定到此小部件,并允许它使用三个覆盖方法来执行自定义操作

FlareActor(
    "assets/Teddy.flr",
    controller: _bearLogInController,
    [...]
)

在此示例中,initialize() 将通过库调用 artboard.getNode("ctrl_face") 获取对 ctrl_face 节点的引用。

此外,通过 扩展FlareControlsBearLogInController 可以利用此接口的具体实现

  • play(String animationName)
  • advance(double elapsed) – 一个基本实现,用于推进和混合多个动画。

GitHub

查看 Github