[Golist] tween classes versus all-in-one

Joel Stransky stranskydesign at gmail.com
Mon Apr 21 10:49:36 PDT 2008


Sounds like you're talking about simulated playhead control Karsten. In
theory, it doesn't seem like it would be that hard to mirror a Fuse, er,
sequence. (Sorry, I have to break the habit of calling them fuses). I would
imagine, provided the original sequence included start_ values for
everything, a mirror could be made that not only reversed the steps, but
tweened back to the start_ values effectively playing the tween backwards.
Could call it startBackwards() or playInReverse(). I can't wait until I have
time to tear into this stuff.

 

I'm definitely attracted to the thought of cuePoints similar to .flv
playback as well.

 

From: golist-bounces at goasap.org [mailto:golist-bounces at goasap.org] On Behalf
Of Moses Gunesch
Sent: Monday, April 21, 2008 9:54 AM
To: Mailing list for the Go ActionScript Animation Platform
Subject: Re: [Golist] tween classes versus all-in-one

 

oohhhh reverse eh. That is different.

 

Maybe reverse play should be an open toggle option for tweens. It
complexifies repeater options though, for sure...

 

- m

 

 

 

On Apr 21, 2008, at 11:43 AM, Karsten Goetz wrote:





Hi Moses,

 

thank you for your reply.

Just a quick question:

Does skipTo really rewind, I mean does it change the play-direction? I
thougt it jumps to he new target and plays from there on. Well, I'll check
out again the new test-files, havn't done this for a while.

The rewind-function I had in mind should play the animation reverse.

 

 I'll check that out, maybe it's that easy :-)

 

Greetings

 

Karsten

 

 

Am 21.04.2008 um 17:18 schrieb Moses Gunesch:



K -

The reason that skipTo() was picked over a more complicated interface is
that only tweens which have start and end can be rewound or fast-forwarded -
not the case for physics animations necessarily. But skipTo() can easily be
used to rewind and ff:

 

Rewind:          skipTo(0);

FF:                   skipTo(tween.duration);

 

Now, to the heart of your question which is skipTo + parallel or sequence.

 

Here is how I think we could implement that functionality:

1. PlayableBase should have a read-only duration getter that returns the max
time of all children

2. SequenceBase might also need a duration getter that sums all step
durations.

3. SequenceBase should get skipToTime() functionality. Alternatively skipTo
could use time and the secondary method could be skipToIndex(). 

 

The time-based one is easy to implement; you just run a sum of durations on
each step and when the sum exceeds the time you back it up one and run
skipTo() on the step with the remainder.

 

To implement a slider you could calculate a percentage against the
Sequence's total duration.

 

Does this address your questions? I'm happy to help you add these features
to the utils or, give it a shot and post your version!

 

- moses

 

PS: Go is naturally time-based. Do not use the useFrames option, there is
nothing simpler or more intuitive about it. It is a specialty option that
should be saved for special cases where you have to process things in
frames. 

 

PPS: Also be sure to take a look at the GoTestBase class included (there's
also a GoFlexTestBase). It sets up buttons that let you perform all the play
controls on a tween (see the included examples in the
com.mosesSupposes.go.tests package). When you run the line
super.addButtonUI(), the second param defines the skipTo() amount for that
test, and will appear on the button.

 

 

 

 

 

On Apr 21, 2008, at 5:12 AM, Karsten Goetz wrote:



Hi Coders,

 

I like the idea to seperate into different tweens. 

I tried to do something like this a few weeks ago - but the work is not
finished and has some bugs. 

I've submited them anyway to SVN in my package ( KarstenGoetz ). If you are
interessted, have a look.

 

I tried to set up some "interactive test", too ( not post to svn ). 

What I mean is some more  complex animation that starts on mouseover,
rewinds on mouseout and perhaps do

some new animation on click from the given position... in other words, i
played around. 

I don't have results from this session but some questions:

- how would you arrange such an animation?

- I sometimes miss a more timebased handling of tweening. We can play
forward and skipTo - but what about rewind a tween and rewindTo?

Imagine a slider, representing the animation time, you drag it and a tween,
group or sequence would calculate the animation at this time. 

 

I get a bit confused about this things, so I want to ask you. For me
LinearGo and PlayableGroup ( and Sequence ) are leaving the
"lightweight"-zone ( I'm pointing here to the implementations of Repeater
and useFrames - all absolutly nessesary, but I start to miss the basic
thing... ).

I think a basic Tween ( LinearGo, or maybe a new Class called TimeGo?;- )
should be more timeline-like. In my point of view it's not far away and I
started to create some experients on that to try if its possible. I think it
is  - but is it a way? Maybe I'm  totally wrong? Maybe I've missed some
tools in Go that doing this stuff. 

 

Lots of greetings

 

Karsten

 

 

 

 

 

 

Am 17.04.2008 um 18:56 schrieb Moses Gunesch:



On Apr 17, 2008, at 10:41 AM, Tollman Owens wrote:

I can only see the benefit of doing all of the extra functionality in

external classes for legibility, because you are going to

get the weight when you do the import, so being able to save file size

is not really an issue, please correct me is i am wrong.

 

It's not about legibility, it's about modularity.

 

Think about it from an Object-Oriented and Open-Source Sharing  

perspective: Whoever extends LinearGo with the best (simplest, most  

coherent, most functional) set of basic tween classes will be  

providing a bedrock foundation for everyone else.

 

The most attractive set of basic tween classes put out by one of you  

should end up receiving a VERY high adoption rate, because this set of  

basic tween classes can be repurposed for ANY parser or more complex  

system. No one has so far realized this and picked up the gauntlet  

but, I'm freely handing it to all of you for the taking. So go ahead,  

get famous if you want. ;-)

 

Such a set is not included in GoASAP in order to maintain purity:

Go is a base system that doesn't propose any specific syntax, not even  

for tween classes, because there are so many approaches to that  

interface.

 

 

A basic list of tweens might be something like this:

  * A DisplayObject tween

  * A generic any-object/ any-property multiple-value tween

  * A generic any-object/ any-property multiple-value tween

  * A ColorTransform tween (could subclass the multi-value tween)

  * A BitmapFilter tween

            (could be several of them since some filters are multi-value)

  * A Bezier-arc tween

 

Just my two cents.

 

moses

 

_______________________________________________

GoList mailing list

GoList at goasap.org

http://goasap.org/mailman/listinfo/golist_goasap.org

 

------------------------

Karsten Goetz

Flashprogrammierung

 

Bernstorffstr. 120

22767 Hamburg

 

Tel:       +49 40 43 09 91 07

Mobil:   0173 57 14 984

 





 

_______________________________________________
GoList mailing list
GoList at goasap.org
http://goasap.org/mailman/listinfo/golist_goasap.org

 

_______________________________________________

GoList mailing list

GoList at goasap.org

http://goasap.org/mailman/listinfo/golist_goasap.org

 

------------------------

Karsten Goetz

Flashprogrammierung

 

Bernstorffstr. 120

22767 Hamburg

 

Tel:       +49 40 43 09 91 07

Mobil:   0173 57 14 984

 





 

_______________________________________________
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/20080421/3c88e89e/attachment-0001.html 


More information about the GoList mailing list