View unanswered posts | View active topics


Reply to topic  [ 22 posts ]  Go to page 1, 2  Next
Eaze: a smarter tween engine 
Author Message
Admin

Joined: Wed Aug 31, 2005 7:27 am
Posts: 10740
Location: Paris, France
Post Eaze: a smarter tween engine
Eaze is a tween library I've been coding lately - this engine is now used for production projects by great minds and my team.

Eaze is about:
- a smarter (jQuery-like) syntax,
- full featured but lightweight (9Kb),
- a great performance (faster than most known libraries),
- 100% non-restrictive open source license.

Short example:
Code:
eaze(target)
  .to(0.3, { x:dx, y:dy })
  .tint(0xffcc00)
  .easing(Cubic.easeInOut)
  .onComplete(handler, "with", 3, ["parameters"]);


Source, examples, doc:
http://code.google.com/p/eaze-tween/


Thu Nov 12, 2009 8:42 pm
Profile WWW
Member

Joined: Mon Jan 21, 2008 6:58 pm
Posts: 45
Post Re: Eaze: a smarter tween engine
Cool I'll have to check it out. But I have to say, I was never a fan of jQuery syntax. It seems to lead to more spaghetti code than clear and legible code imho.

In terms of speed though, is there a perfomance text to compare?


Fri Nov 13, 2009 1:08 pm
Profile
Admin

Joined: Wed Aug 31, 2005 7:27 am
Posts: 10740
Location: Paris, France
Post Re: Eaze: a smarter tween engine
By jQuery-like, I only mean that the concept is to select the target and apply successive method calls to configure the task. As with any good or bad thing you shouldn't overuse it :)

I used various tween performance tests (like Joshua's Actuate tween library performance test and Greensock's tweening test) to compare engines - I suggest to read my conclusions about these tests here (in short: I don't think it really matters):
http://philippe.elsass.me/2009/09/as3-d ... n-library/
http://philippe.elsass.me/2009/11/as3-e ... ry-update/


Fri Nov 13, 2009 2:28 pm
Profile WWW
Member

Joined: Mon Jan 21, 2008 6:58 pm
Posts: 45
Post Re: Eaze: a smarter tween engine
I've looked into tweening engines a lot and I do agree with you that while BetweenAS3 is amazing. I couldn't swallow the 100+ classes that compose it. One of the appeals to TweenLite when I first started using it was that it was a single class. Imagine that, a single class that did all the magic and I didn't have to worry about. It has since gotten more bloated with features I will rarely use.

The reason I asked about performance isn't just because it's a measuring stick but it indicates a lot about the developer. Did the dev take the time to optimize or worry about memory management? I work with designers that want everything to fade in and out at the same time, the last thing I want is a inefficient tweening engine to suck up CPU that should be handling all the stupid alpha treatments being tweened. So yes, performance isn't the end all measurement of a tween library. But I definitely want to use one that is the most transparent to my program.

With that said, I think Eaze is definitely off to a great start. It's small, pretty efficient and has the majority of the features you'd want in an engine. good job!


Mon Nov 16, 2009 1:53 pm
Profile
Member

Joined: Mon Oct 16, 2006 12:02 am
Posts: 333
Location: Lviv, Ukraine
Post Re: Eaze: a smarter tween engine
Hi Philippe. I have been using this perfect engine for some time and found it pretty good.
But now I have one trouble with overwriting.

For example, I have a sprite with tweening of scale, x, y
Now I want to move this sprite to an another position, but I don't want to terminate scaling.
As I understand, I cant to overwrite [x, y] twinning and do not overwrite other properties.
(TweenLite has such type of overwriting)

Or another example: I have followind tweens assigned to events:
onMouseOver: scaleUp
onMouseOut: scaleDown
onMouseDown: move somewhere
scaleUp and scaleDown tweens should overwrite each other, but they shouldnt owerwrite movement.

Is it possible to figure it out with current version of engine?


Wed Jul 21, 2010 12:53 pm
Profile WWW
Admin

Joined: Wed Aug 31, 2005 7:27 am
Posts: 10740
Location: Paris, France
Post Re: Eaze: a smarter tween engine
@canab sadly it won't be possible to tween separately different properties - overwriting is all or nothing and does not depend on the tweened property. This is definitely a shortcoming of the engine.

Solution would be to tween a dummy object and update the real object accordingly.


Wed Jul 21, 2010 2:44 pm
Profile WWW
Member

Joined: Mon Oct 16, 2006 12:02 am
Posts: 333
Location: Lviv, Ukraine
Post Re: Eaze: a smarter tween engine
Quote:
Solution would be to tween a dummy object and update the real object accordingly

Sure! For sprite it is possible to separate independent tweens between target sprite and nested one :)

But I think it would be nice to add possibility to overwrite properties in future version. Workaround may be to scan existing tweens (on adding new tween for object) and remove overwritten properties from them on the fly.


Wed Jul 21, 2010 3:31 pm
Profile WWW
Member

Joined: Wed Aug 01, 2007 3:37 pm
Posts: 1220
Location: Grizzly Flats, CA
Post Re: Eaze: a smarter tween engine
Can't you just write two different tweens? I haven't used Eaze lately, but I know that's how Actuate (and many other libraries) work

Code:
Actuate.tween (MySprite, 1, { x: 100 } ); //overwrites by default
Actuate.tween (MySprite, 1, { y: 100 }, true); //enable overwriting


I know that TweenLite lets you specify which properties are overwritten, but TweenLite is slower. I also think (personally) that writing two tweens in this way is a lot cleaner code


Wed Jul 21, 2010 6:30 pm
Profile WWW
Member

Joined: Thu Nov 25, 2010 10:13 am
Posts: 1
Post Re: Eaze: a smarter tween engine
Hey. This little library really is wonderful! Thanks to the author.
I'm currently building a library over aze, which is meant to schedule tasks sent by a server socket. Tasks are encoded into strings over the socket, and these tasks include visual effects. They may arrive all at once on the client socket, but are meant to be played in sequence. Thus I need to create tweens that don't start automatically...

I have found a boolean value, named "autoStart" in aze code, which is true by default :
public function EazeTween(target:Object, autoStart:Boolean = true)

That's great. However, the official entry point for creating a tween is eaze(target). And the boolean isn't available in eaze's signature...
I suggest you either add that boolean in eaze, either that you create a second entry point called "eazeNonAuto" or whatever, which would simply return new EazeTween(target,false);


Thu Nov 25, 2010 10:20 am
Profile
Member

Joined: Wed Feb 16, 2011 7:09 am
Posts: 1
Post Re: Eaze: a smarter tween engine
Hello Philippe.
How to contribute or vote for new feature in Eaze? I mean tweening some properties of couple of targets.


Wed Feb 16, 2011 7:15 am
Profile
Member

Joined: Fri Mar 17, 2006 10:23 am
Posts: 90
Location: Croatia
Post Re: Eaze: a smarter tween engine
sorry for being newbie but ... how to import eaze into haxe as3 project ?


Wed Mar 02, 2011 12:26 pm
Profile ICQ WWW
Admin

Joined: Wed Aug 31, 2005 7:27 am
Posts: 10740
Location: Paris, France
Post Re: Eaze: a smarter tween engine
e1 wrote:
sorry for being newbie but ... how to import eaze into haxe as3 project ?

Code:
import aze.motion.eaze;
...
eaze(target).to(0.2, { x:100 });


Wed Mar 02, 2011 12:33 pm
Profile WWW
Member

Joined: Fri Mar 17, 2006 10:23 am
Posts: 90
Location: Croatia
Post Re: Eaze: a smarter tween engine
I've downloaded swc; tryed to include in library - no luck. Then unziped and tryed to add the .sfw in library - again no luck :)
I didn't find where to download just classes from.
Among others, I get "Error: Project -swf is not installed"; google search didn't produce much luck for me

I am NEWBIE with haxe :D so ... please.


Wed Mar 02, 2011 12:49 pm
Profile ICQ WWW
Admin

Joined: Wed Aug 31, 2005 7:27 am
Posts: 10740
Location: Paris, France
Post Re: Eaze: a smarter tween engine
Oh sorry I missed the point about haxe...

The eaze function will not be available to haxe because it doesn't support package-level functions. I think you'll be able to use the EazeTween class directly (eaze is a shorthand to new EazeTween).


Wed Mar 02, 2011 4:30 pm
Profile WWW
Member

Joined: Fri Mar 17, 2006 10:23 am
Posts: 90
Location: Croatia
Post Re: Eaze: a smarter tween engine
Tnx. I'll try it.


Wed Mar 02, 2011 5:23 pm
Profile ICQ WWW
Display posts from previous:  Sort by  
Reply to topic   [ 22 posts ]  Go to page 1, 2  Next

Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.