[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