Java Reference
In-Depth Information
the new node. Again, the linear and ease interpolators are similar, but still a little different. The linear
interpolator is very mechanical—it's like watching a subway go by. The ease interpolator gently slows
the animation at the end, which gives a sense of the node settling into place like a subway stopping.
Either choice is a good choice, but selecting one over the other should be deliberate.
The spline interpolator provides the same sense of hesitation as it did with the fade transition, but
for some reason I find it annoying in this context. Maybe it annoys me because part of the new node is
visible and part of it is not.
The polynomial interpolator is similar to the spine interpolator in that it only shows part of the
controls. But there is something about the back-and-forth action that redeems it. I could see using a
transition like this in a game, as long as the game was sufficiently silly and involved rubber in some way.
I think I like the windup interpolator the best. It combines the back-and-forth motion of the
polynomial interpolator with the certainty of the ease interpolator.
I find it interesting that some interpolators work so much better with one transition over with
another.
Flip Transition
The flip transition uses a sheering effect to make it look like the nodes are on two faces of a card being
spun about its middle. In this case I much prefer the linear interpolator to the ease interpolator, as the
ease interpolator makes the animation feel broken. The broken feeling might come from the fact that
when you watch something spin, the amount of the scene that changes is different depending on the
angle. For example, when the animation is halfway complete, the amount that the scene changes per
degree is very high. But when the animation is almost done, those last few degrees don't change the
scene all that much, so having the rate that the angle changes seems unnatural.
The spline interpolator produces a robotic motion, like there is something that has to be adjusted
before the rotation can complete. I find this interesting because the linear interpolator usually strikes me
as the most robotic, but in this case it is not.
The polynomial interpolator looks like the animation is just broken; I don't see any point in using
this one.
The windup interpolator gives a real nice wiggle at the end; it makes me want to create an
interpolator with a few additional wiggles.
Further Considerations
Interpolators provide an excellent API for describing animation as well as any other change in the scene.
It is a good idea to spend time creating a set of excellent interpolators, as they can quickly add life to an
application without adding to the complexity of the animation code.
It is worth emphasizing the value of creating demo software to help express ideas to designers.
JavaFX is a powerful graphics library and is capable of some truly amazing animations, but a lot of the
power of JavaFX is locked into its API. If a developer creates a demo application that shows off a handful
of interpolators and how they work with different types of animations, such as scaling and rotation, a
designer can immediately start adding those capabilities to her bag of tricks.
Remember that interpolators are called many times a second to produce smooth animations. It is
worth the time to make sure the implementation of the interpolator is as efficient as possible.
Search WWH ::




Custom Search