[Golist] GO and LinearGo features

Moses Gunesch moses at goasap.org
Tue Mar 18 07:59:40 PDT 2008


Go already supports delays and callbacks as long as you associate them  
with an actual animation. One feature you might want for a Sequencer  
would be support for a non-tweened delay / callback action. This could  
be done very easily in the parser by simply instantiating a plain  
LinearGo instance with a duration that matches the delay, so it would  
still have all the features of a tween (pause/resume control,  
callbacks, events etc.) but simply not update any real properties.

You're right: No one has built a complete tween / sequencing API in Go  
yet. I keep trying to indicate to people that this would not be a huge  
undertaking, most of the hard stuff is already done for you. The video  
tutorial #2 proves that you can build a simple Fuse parser in around  
5-10 minutes, and adding feature is simply not that tough. :)

The final need in making a solid Fuse type utility would be special  
tween classes. Most simply you can just subclass LinearGo to create  
various tween types like say, a simple bitmap-filter handler. Your  
parser can search for specific properties (like say,  
"DropShadow_blurX") and then instantiate that type of tween... the  
rest of it works the same.

Here's why these custom tween classes shouldn't be such a big deal:  
Most all of the complicated details have been done many times, and are  
freely available. For example Flash 9 ships with a package called  
motion that includes a Color class that has its own interpolate method  
that Robert Penner wrote specifically for tweening color – someone  
could make use of this class. Alex Uhlmann's Animation Package,  
Tweener and many other package out there can help you flesh this stuff  
out – just be sure to honor their license terms and of course, give  
credit where it is due.

Later, your Sequencing system described above could be made a tad more  
sophisticated by writing a property-registration system. This would  
allow your users to only compile the special tween classes that they  
need per project –– but that's fairly advanced stuff. Without getting  
that deep into things, anyone here could still build a really nice  
Sequence Parser with very little effort using the information above,  
and because your Go tools are your own thing you can simply add the  
stuff you want per project if you need to save the filesize.



By the way, although everyone's systems differ a little, it's not like  
any of the developers in the Flash world invented computer animation!  
We are all just rehashing a tiny bit of the Wheel here. What I would  
like to get back to with Go is the ease with which the first Atari  
video game programmers were able to throw down any type of motion, be  
it linear or physics – and those guys were using assembly!!!

- m



On Mar 18, 2008, at 6:40 AM, Romuald Quantin wrote:

> Hi,
>
> First post, great work everyone and thanks to Moses.
>
> Just few questions if you’ve got some time.
>
> I’ve been an intensive user of Fuse in as2, I’m now using Tweener in  
> as3 as it is quite simple to write and, as you know, time count on  
> projects for clients J
>
> I hope I not bother you as I’m asking information because I know I  
> won’t have time to build my own parser (also because it won’t be as  
> great as some could do here).
>
> I saw the benchmarks and as I loved using Fuse I’d like to pass on  
> GO for the next project depending on what I can do “quickly”. I’d  
> like to understand if I can start with GO now or wait that I get a  
> kind of Fuse for as3 based on GO already built.
>
> I read the LinearGo is a complete tween class. Can someone tell me  
> what I can do the following list with this LinearGo class? Or if  
> I’ll have to build my own one?
>
> What I’ll need is:
>
> - Delay property
>
> Like be able to add a delay between tweens, or before, after, etc…  
> basically I even used Fuse and delay only to sequence an animation,  
> calling some function after a delay, etc… like I’d do with a  
> setInterval? Maybe not the best pratice but so easy with Fuse.
>
> f.push({delay:1});
>
> - Tween Basic properties such as x, y, scale, rotation and alpha
> - Tween colors
> - Tween filters (occasionally)
> - Tween brightness (occasionally)
>
> - Be able to add this kind or function in the middle of a tweening:
> f.push({scope:this, func:
>             function() {
>                         // code
>             }
> });
>
>
> - Tweening different objects in the same time, playing with delay in  
> a loop:
> for (var i:Number=0; i<__max; i++) {
>             arr.push({target:__thumbnail["thumb"+i], alpha:0, time:. 
> 8, delay:i*.2});
> }
>
> That’s the base I’ll need.
>
> Thanks for your time.
>
> Romuald
>
>
>
>
> _______________________________________________
> 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/20080318/0baf6a88/attachment.html 


More information about the GoList mailing list