In order to create the animation that will make our ball move inside the screen, we'll use three classes, which are the base of most animations in Flutter:
- The first class is quite predictably called Animation. The Animation class takes some values and translates them into animations. An instance of Animation is not bound to any widget on the screen, so it is unaware of what is happening on the screen: it has listeners that can check the state of the animation during each frame change.
- The second class is AnimationController. AnimationController, as the name implies, controls the animation objects. For example, you can use it to start an animation, give it a duration, and repeat it when needed. An AnimationController can control more than one animation. For the project in this chapter, we'll only use one animation.
- The last class we'll use is Tween...