Easing In (Taking Off)
Easing in is the opposite of easing out. When an animation eases in, it starts slowly and then gets faster and faster. If you have ever seen a video of a space shuttle taking off, you will understand this much better. The thrust builds up as the craft at first moves slowly and then gets faster and faster as it moves through the sky. We are going to use this “taking off” example as a way to develop code for an easing-in animation on HTML5 Canvas.
In canvasApp()
, we start our
code much the same way as in the last example—by creating a variable
named easeValue
:
var
easeValue
=
.
05
;
However, for easing in, instead of this being a percentage of the remaining distance between two points, it is simply a constant value added to the velocity of the ship on each frame. Figure 5-23 shows what this would look like. We have added the points again to illustrate how the animation speeds up as the ship takes off.
Figure 5-23. Ship taking off (easing in)
First, we set the beginning position of the ship
(p1
)
to the bottom center of the canvas. Then we set the beginning speed
of the ship very low (.5
pixels per frame) and set the angle
to 270
(straight up the canvas). We then
calculate the x
and y
velocity values for the ship
:
var
p1
=
{
x
:
240
,
y
:
470
};
var
tempSpeed
=
.
5
;
var
tempAngle
=
270
;
var
tempRadians
=
tempAngle
*
Math
.
PI
/
180
;
var
tempvelocityx
=
Math
.
cos
(
tempRadians
)
*
tempSpeed ...
Get HTML5 Canvas, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.