[Golist] random time access in a paused Go animation
Stephen Downs
steve at plasticbrain.com
Fri Sep 26 14:56:38 PDT 2008
I've been pushing Go pretty hard in my current project, and wanted to
outline a few requests dealing with what I consider inherent
limitations.
Request: A random time access function that implements a uniform
definition of time and does not change the state of the object.
The IPlayable interface generically implements a skipTo command, but
this is implemented as either time or index in particular objects,
which makes it difficult to uniformly implement time-based navigation
in a complex hierarchy of IPlayable objects.
In addition, the skipTo command in the base LinearGo class
automatically begins playing the animation, changing the playstate of
the object.
Another difficulty is that the skipTo time parameter in LinearGo seems
to ignore intrinsic delay values. If I pass a value of 2 (2 seconds if
not using useFrames) to skipTo, and the LinearGo instance has a delay
value of 3 and a duration of 3, it seems to translate this as
advancing to the 5 second mark (2 seconds into the tween from it's
start, ignoring the delay). This is irksome when using LinearGo
objects contained within a PlayableGroup, as the PlayableGroup
propagates the same skipTo value for all it's children, which ruins
any sync if any child objects have delay values set.
[minor] Request: A Sequence utility class that implements a random
time access function.
This has been discussed before on the list in the framework of a
timeline metaphor (which is basically what I'm modeling). I can't use
the skipTo command for time access in Sequence or SequenceCA as they
interpret the position parameter as sequence step index.
I've just been using PlayableGroups with carefully crafted delays and
durations instead of Sequences, which requires further subclassing of
PlayableGroup (because of previously outlined difficulties).
I'm already adding these changes in custom, crufty class extensions of
my own, but I would think that some folks in the community could
benefit from having this available at a deeper level in the base
classes. I'm simply trying to impose a well-defined global timeline
metaphor that a hierarchy of playable Go objects will all fit into.
Then again, perhaps my needs are esoteric and isolated!
thanks,
Steve
More information about the GoList
mailing list