[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