Flutter

Balloon Pop Animation in Flutter

About this project

Balloon Pop Animation is an interactive Flutter project where tapping a colorful balloon pops it. Each pop shows a burst image, sends a spray of particles flying with gravity and fade-out, and plays a pop sound. The balloons appear in a configurable grid, and everything is built into a reusable BalloonBurstWidget that you can add to any Flutter app or game. The particle effect uses a custom particle system drawn with CustomPainter.

Objectives

Build a satisfying balloon popping animation with smooth effects, and package it as a reusable widget so it can be added to other Flutter apps without rewriting the animation logic.

Key Features

  • Grid of tap-to-pop balloons in red, blue, green, and yellow
  • Burst image and a 25-particle explosion on every pop
  • Particles with random speed, gravity, and fade-out
  • Pop sound effect
  • Reusable BalloonBurstWidget with a configurable balloon list and column count

Challenges & Solutions

Particles at the exact balloon position: The balloon's screen position is converted into the widget's local coordinates, so particles burst exactly where the balloon was. Smooth custom effects without a package: A Ticker updates every particle each frame (velocity, gravity, fade), and a CustomPainter draws them. No delay on pop: Particle images are preloaded as ui.Image objects, and one shared controller handles all balloons.

Technologies & Frameworks

FlutterCustomPainterTickeraudioplayers

Integrations & APIs

audioplayers for pop sounds

Architecture & Libraries

Reusable widget design with a small custom particle system (Particle, ParticleController, ParticlePainter), and the audioplayers package for sound

Backend & Database

No backend or database: balloon images, burst images, and sounds are bundled as app assets

Outcomes & Results

  • Working balloon pop animation with smooth particle effects and sound
  • Reusable widget that can be added to other Flutter projects
  • Easy to customize colors, balloon count, and grid layout

Need something similar?

Farhan Saeed · Available for new projects