initialize method

void initialize(
  1. Canvas canvas,
  2. Size size
)

Implementation

void initialize(Canvas canvas, Size size) {
  double effectiveLayer;
  for (int i = 0; i < numberOfDrops; i++) {
    double x = random.nextDouble() * size.width;
    double y = random.nextDouble() * size.height;
    int layerNumber =
    random.nextInt(numberOfLayers); // 0 is the layer furthest behind
    effectiveLayer = layerNumber * distanceBetweenLayers;
    dropSize = Size(dropWidth, dropHeight);
    dropList.add(
      CustomDrop(
          drop: Offset(x, y) &
          Size(
            dropSize.width + (dropSize.width * effectiveLayer),
            dropSize.height + (dropSize.height * effectiveLayer),
          ),
          dropSpeed:
          dropFallSpeed + (dropFallSpeed * effectiveLayer),
          dropLayer: layerNumber,
          dropColor: dropColors[random.nextInt(dropColors.length)]),
    );
  }
}