[Golist] tween classes versus all-in-one
Karsten Goetz
KarstenGoetz at web.de
Mon Apr 21 10:34:42 PDT 2008
ja, play reverse :-) There is this one line in LinearGo in update():
_easeParams[0] = (currentTime - _startTime);
I was hacking around a bit and you would cry if you could see what
I've done to it...
Well, I think that reverse playing (not rewind? - my english,
arghhhh) could be done with:
play rewind
_easeParams[0] = _rewindTime - (currentTime - _startTime);
play forward
_easeParams[0] = _rewindTime + (currentTime - _startTime);
_rewindtime is the time set when changed the direction. It works
( but all lot of other thinks not, of course ;-) - but it maybe is a
different kind of concept and maybe belongs in an own class?
Am 21.04.2008 um 18:54 schrieb Moses Gunesch:
> 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
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://goasap.org/pipermail/golist_goasap.org/attachments/20080421/c5fc291d/attachment-0001.html
More information about the GoList
mailing list