Dart 使用颤振/省道翻转和抖动瓷砖动画。。?

Dart 使用颤振/省道翻转和抖动瓷砖动画。。?,dart,flutter,Dart,Flutter,我正在尝试使用颤振/飞镖来实现记忆匹配游戏。 整个游戏逻辑都已经编码好了,只有动画还在等待中 当用户单击任意随机磁贴时,应发生磁贴翻转,并且在尝试匹配不匹配的磁贴时,应发生抖动动画,并且应再次翻转。页面上有一个示例,说明如何制作自定义抖动曲线。 它还详细介绍了如何使用曲线创建动画 编辑:实际上我试过这个,示例曲线导致颤振错误。 你能做的是使用这样的变换 /// create and animation controller in your init state; _controller = ne

我正在尝试使用颤振/飞镖来实现记忆匹配游戏。 整个游戏逻辑都已经编码好了,只有动画还在等待中 当用户单击任意随机磁贴时,应发生磁贴翻转,并且在尝试匹配不匹配的磁贴时,应发生抖动动画,并且应再次翻转。

页面上有一个示例,说明如何制作自定义抖动曲线。
它还详细介绍了如何使用曲线创建动画

编辑:实际上我试过这个,示例曲线导致颤振错误。 你能做的是使用这样的变换

/// create and animation controller in your init state;
_controller = new AnimationController(
  vsync: this,
  duration: const Duration(milliseconds: 1000),
)..addListener(()=>setState((){}));

...

///wrap your layout in a transform;
return Transform(
    transform: Matrix4.translation(getTranslation()),
    child:
      /*your layout widget here*/,
  );

///Then you can get a shake type motion like so;
Vector3 getTranslation() {
  double progress = _controller.value;
  double offset = sin(progress * pi * 2);
  return Vector3(offset, 0.0, 0.0);
}
然后,一旦你在你的动画控制器上向前调用,你会得到一个很好的震动效果。要获得更明显的抖动,请将偏移量乘以常数。要获得更快的抖动,请将2.0更改为更高的值

公认的答案描述了翻转动画的简单解决方案