[Golist] Sunday afternoon delusions

Moses Gunesch moses at goasap.org
Sun May 18 13:14:21 PDT 2008


Hi Toby,

Yes that's a cool idea. We've discussed reversing sequences on this  
list in the past, search the archives for it. This was a feature that  
I left out of Fuse because it is so very involved (as you sort of  
point out with that list there!)

It did get me to thinking that one feature I could add to LinearGo  
would be a reverse-play option that would not necessarily require  
cycling forward first, as repeater.cycles currently does. The reason  
it's complex is that if I add that to LinearGo I also have to instruct  
everyone who subclasses linearGo to implement reverse functionality,  
something that seems like more of a custom feature than a regular one.  
It very closely ties into properties – getting and storing start  
values, etc.

There are other weirdnesses too such as, where does the delay go if  
you play a tween backward? From a standpoint of playing a tween it  
might should still go before the tween runs; from the standpoint of a  
sequence it should actually play at the end of the tween. One final  
weirdness: early-advance triggers (SequenceCA). To get those to work  
in reverse would require inspecting the previous sequence step and  
countering it with some kind of temporary early advance that works the  
other way... very complex indeed.

Because of all of these issues, I think that a better way to go would  
be to first create a coherent tween / sequence API (define the  
syntax), then make a helper function like generateReverseSequence()  
that would build a forward-play sequence with all of the parameters,  
delays and early advances built going backward. Even that would be a  
pretty big chore though.

I've had to apologize on this point since Fuse, which had a fast- 
forward but no rewind command. But in my opinion it's one of those  
things that is too much trouble for the number of times it would  
actually be used. I've tried to keep the Go framework stripped down to  
just foundational features and then let you guys do the work of adding  
all kinds of custom features.

So: Please feel free to prove me wrong and find an easy way to  
implement reverse sequences!
:-)

-m

On May 18, 2008, at 1:53 PM, toby wrote:

> Hi everyone,
>
> Wouldn't it be really neat if you could define a sequence of tweens,
> start it, and then - at any point in the sequence - just stop and  
> yoyo?
> I guess you would have to
>
> a) store the values at which the sequence originally started
> b) determine which part of the sequence is currently being executed
> c) determine how much time of the planned duration of the currenty
> sequence has passed
> d) shorten the duration for the reverse element of the sequence  
> accordingly
> e) execute that reverse version of the currently executing sequence  
> with
> the shortened duration
> f) execute reverse versions of all the previously executed parts of  
> the
> sequence
>
> Been there, done that? Crazy? All nice and well, but?
>
> Let me know what you think.
>
> Bye,
> Toby
>
>
> _______________________________________________
> GoList mailing list
> GoList at goasap.org
> http://goasap.org/mailman/listinfo/golist_goasap.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://goasap.org/pipermail/golist_goasap.org/attachments/20080518/338d34f3/attachment.html 


More information about the GoList mailing list