animateMotion - specifying a start position along a path that is not the beginning of the path


Erik Dahlström asked me to email this mailing list regarding a
potential deficiency with animateMotion.

I'm tinkering with a train engine + couplings + cars following a track
(path) demo:

This appears to do what I want but there's a gross hack in it.  It
abuses animateMotions's begin="" feature to add new cars and couplings
to the path behind the engine after the previous engine or car has
passed by the start of the path.

This hack is not programmatically scalable.  Changing the
animateMotion duration to 10s, for example, will result in incorrectly
spaced cars.  I can't even figure out how to determine the begin=""
values for each element.  In my current example they were specified

What I want is to be able to programatically place cars on the path
one after the other and then have them all begin their animated motion
at the same time.  It'd be nice if negative offsets worked with closed

I also want to be able to start the chain of cars' motion at an
arbitrary place on the track.  There doesn't seem to be a way to do
this.  I notice that textpath has a startOffset.  Is there a reason
something like this couldn't work for paths?

Any ideas?

Ryan S. Arnold

Received on Saturday, 11 December 2010 19:30:49 UTC