W3C home > Mailing lists > Public > www-svg@w3.org > December 2010

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

From: Ryan Arnold <ryan.arnold@gmail.com>
Date: Fri, 10 Dec 2010 17:38:09 -0600
Message-ID: <AANLkTikFrB0Gd7yPDteko17smfJN_8-H2YuGHAh092eh@mail.gmail.com>
To: www-svg@w3.org
Hello,

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:

http://rsasandbox.appspot.com/anim.svg

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
manually.

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
paths.

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 GMT

This archive was generated by hypermail 2.3.1 : Friday, 8 March 2013 15:54:47 GMT