flutter_Confetti

在屏幕上喷射一些彩带,庆祝用户的成就!

入门

要使用此插件,请将 confetti 作为 pubspec.yaml 文件中的依赖项

请参阅示例以快速入门。

首先,您需要实例化一个 ConfettiController 变量,并传入一个 Duration 参数。ConfettiController 可以在 initState 方法中实例化,并在 dispose 方法中释放。

build 方法中,返回一个 ConfettiWidget。唯一必需的属性是 ConfettiController

可以设置的其他属性有:

  • blastDirectionality -> 一个枚举值,用于指定粒子是随机发射还是定向发射。BlastDirectionality.explosive 会随机发射,不需要设置 blastDirectionBlastDirectionality.directional 需要设置 blastDirection 来指定彩带的发射方向。
  • blastDirection -> 一个径向值,用于确定粒子发射的方向。默认设置为 PI (180 度)。值为 PI 时,粒子会从画布/屏幕的左侧发射。
  • emissionFrequency -> 值应在 0 到 1 之间。该值越高,粒子在单个帧上发射的可能性就越大。默认设置为 0.02 (2% 的几率)
  • numberOfParticles -> 每次发射的粒子数量。默认设置为 10
  • shouldLoop -> 决定了在持续时间完成后,发射是否会重置,从而导致粒子持续发射,动画循环播放
  • maxBlastForce -> 确定粒子在其生命的前 5 帧内所施加的最大爆炸力。默认的 maxBlastForce 设置为 20
  • minBlastForce -> 确定粒子在其生命的前 5 帧内所施加的最小爆炸力。默认的 minBlastForce 设置为 5
  • displayTarget -> 如果设置为 true,将显示一个十字准星,以显示粒子发射器的位置
  • colors -> 可以提供一个颜色列表来手动设置彩带的颜色。如果省略,则使用随机颜色。可以在 `ConfettiWidget` 中作为参数提供单个颜色,例如 [Colors.blue],或多个颜色 [Colors.blue, Colors.red, Colors.green]
  • minimumSize -> 一个 Size 对象,用于控制彩带的最小可能尺寸。与 maximumSize 结合使用。例如,将 minimumSize 设置为 Size(10,10) 将确保彩带永远不会小于指定的尺寸。必须是正数且小于 maximumSize。不能为空。
  • maximumSize -> 一个 Size 对象,用于控制彩带的最大可能尺寸。与 minimumSize 结合使用。例如,将 maximumSize 设置为 Size(100,100) 将创建大小在最小尺寸和最大尺寸 (100, 100) [宽度, 高度] 之间的彩带。必须是正数且大于 minimumSize。不能为空。
  • gravity -> 改变彩带下落的速度。值在 0 到 1 之间。值越高,下落速度越快。默认设置为 0.1
  • particleDrag -> 配置施加到彩带上的阻力。值在 0 到 1 之间。值为 1 表示没有阻力,例如 0.1 表示阻力很大。默认设置为 0.05
  • canvas -> 设置彩带显示区域的大小,默认设置为全屏大小。

尽情享受彩带吧。

注意: 不要过度使用粒子数量。屏幕上的粒子越多,需要进行的计算就越多。虽然已经进行了性能改进,但这仍然是进行中的工作。过多的粒子会导致性能问题。请谨慎使用。

GitHub

https://github.com/funwithflutter/flutter_confetti