Some questions about animation



I've been experimenting with animation lately, which is really fun, but I'm having some trouble figuring some things out. Right now I'll just start with a few questions, but I'll probably have more later.

  • First off, how would you usually animate across a path? Would you use Path and somehow animate over it, or would you do something like store Points in a vector? I've been doing it with the latter, but that's just because I'm not too sure how to animate over a Path. 
  • Second, how would you (reliably) animate over some given path over a specified amount of time (say milliseconds). For simple straight line animation, I'd just use ComponentAnimator for that. I tried looking at the code for ComponentAnimator and tried to understand it, but it's a bit too complicated for me at the moment. 

Right now, I'm basically using the AnimatedAppComponent and storing Points in a vector, which acts as a path. I then go through one element of the vector in update() and increment the index for the next call. By doing it this way, the speed at which it's animated is determined by the number of points in the vector and how fast the Timer is going. This seems like the worst way to do this, but it works and I guess it's okay for some first animation experiments. I'd really like to figure out different ways to do animation though.

By the way, are there any good books, articles, or other learning resources you would recommend that teach animation basics? It's a really interesting and fun topic, and I'd love to do some reading on it.