Simply put, 2D animation is movement and transformation of objects on the screen in two dimensions. A good example of 2D animation is classic cartoons - multiple pictures of Mickey Mouse or Donald Duck alternating over time and producing the effect of moving objects. The modern 2D animation software allows creating animation much easier though, without making oodles of frames.
Frames and Keyframes
Just like with classic animation, computer 2D animation also consists of frames. Frame is a single picture of an object illustrating certain position, size and other properties of that object. Adjacent frames are slightly different from each other, so when the animation is played at the full speed - usually 24 frames per second - the effect of motion appears. This is similar to cartoons and movies.
But in computer animation you typically don't have to draw each and every frame manually. Most of 2D animation software allows you to set up keyframes - frames that specify intermediate positions of an object. The motion of the object between these keyframes is built by the software automatically. So you end up with creating keyframes only, while the animation tool calculates and builds the rest of frames automatically. This process is called interpolation.
The motion between two keyframes can be different - accelerating, slowing down, steady or even all of these in one move. The simplest way to specify how exactly one keyframe should translate to another is curves. A curve defines how a specific parameter of an object, such as a coordinate or a scale should vary over time.
Let's take a look at a simple animation example made in one of 2D animation programs - GameDev Animation Studio. We want to make a ball move from up to down and then bounce back.
Basically, this means the vertical coordinate of the object, or simply the Y-coordinate should change from zero (the top of the screen) to the maximum value that corresponds to the bottom of the screen. Then the ball "bounces", i.e. its form gets distorted in the vertical direction and restored again. After that, the ball moves up, which means the Y-coordinate should decrease back to zero. Also note, that due to gravity, the ball moves down with acceleration, while the backward movement must be decelerating. This is mirrored in the slope of the curve: a sharper slope means faster movement and vise versa.
So the curve describing vertical movement of the ball looks as follows:
As you see, the curve here gradually develops from zero to its maximum, and then, after the peak, it goes back to zero again. The highest value of the curve corresponds to the moment the ball hits the ground - this happens in the 30th frame on the timeline. After that moment, the ball starts moving up.
When the ball is just to hit the ground, it starts deforming. Indeed, the ball is elastic, so it kinda must deform. This animation can be done with another curve - the zoom curve. We'll change the vertical scale (Y-scale) of the ball to reflect the way it gets distorted during the hit.
Above is the Y-scale zoom curve. As you see, prior the 29th frame the curve is at its maximum. This corresponds to the non-deformed ball falling down. In 29th, the curve goes down, and the ball's image is zoomed down along the vertical axis. Then, after the curve passes the "hit-the-ground" point in 31st frame, the image is zoomed up to normal, so the curve goes up again to its maximum.
Note, that the higher the zoom factor is, the more elastic the ball will look. Thus, experimenting with curves in 2D animation tools is an easy way to find the most spectacular and satisfying animation effects. On the other hand, the classic animation approach would require you to discard all the work already done and start from scratch if you decided to change something.
Adding Details to Animation
Obviously, the ball just moving up and down doesn't look too realistic, that is why we need a shadow. We should place a shadow picture beneath the ball and use curves to make it look real. Overall, the process is pretty much similar to above steps. We'll need to scale the shadow and modify its transparency level in accordance with the ball's movement.