[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