Hi, i'm Giancarlo Todone and i really appreciate all your work around the great piece of software that GWT is. I'm developing various web- based applications and entertainment UI based on GWT. As a side result of one of my latest works, i've ended up writing a quite complete set of classes to manage animations in any java-based code, including GWT. Seeing the GWT team has placed such a feature in its wishlist, i'm trying to comment, refactor and pack my classes to conform to Google's coding standards, and so to become a GWT contributor. In the meanwhile, i can show you what are we speaking about. Take a look at http://www.ecando.it and click on PlayPlate demo. Any comments would be appreciated. giancarlo.tod...@gmail.com, gianca...@ecando.it
PS: if the site is down or showing weird things, please try coming back to the site in another moment, i'm still working on it.
[cc'ing GWTC to make sure other people interested in effects are in the loop]
Giancarlo, your game is really cool. The animation looks really fast and fluid. Depending on the kinds of animation and effects your library does, it may or may not overlap with what several other people in the community are doing toward building effects libraries, but we should find out. I would encourage you to try to get a group of people together to agree to work on a common set of goals using the new GWT incubator project. If you can get a group of serious people together to work on it, send in your CLAs (see Making GWT Better for details), and we'll make you project members.
-- Bruce
On 9/14/07, jean <giancarlo.tod...@gmail.com> wrote:
> Hi, i'm Giancarlo Todone and i really appreciate all your work around > the great piece of software that GWT is. I'm developing various web- > based applications and entertainment UI based on GWT. As a side result > of one of my latest works, i've ended up writing a quite complete set > of classes to manage animations in any java-based code, including GWT. > Seeing the GWT team has placed such a feature in its wishlist, i'm > trying to comment, refactor and pack my classes to conform to Google's > coding standards, and so to become a GWT contributor. In the > meanwhile, i can show you what are we speaking about. Take a look at > http://www.ecando.it and click on PlayPlate demo. Any comments would > be appreciated. giancarlo.tod...@gmail.com, gianca...@ecando.it
> PS: if the site is down or showing weird things, please try coming > back to the site in another moment, i'm still working on it.
While refactorying, I'm gonna tell how my system works and what it can do, to encourage people interested in cooperation to contact me. The whole thing works as follows:
it has -an interface named "Animable" containing all methods you would expect to find in an animable object (getPosition, setPosition,...) -an interface named "Animator" containing some helper methods
There are two major classes that implement "Animator": "SimultaneousAnimations" and "TimeLine". If you add animations (=classes implementing Animator) to a TimeLine, they will be "executed" sequentially, while SimultaneousAnimations does it in parallel. As a result of this arrangement, you can add animations to a SimultaneousAnimations and then add SimultaneousAnimations to a TimeLine, but you could add a TimeLine to the SimultaneousAnimations, too (since TimeLine is also an Animator). A TimeLine ends when its last Animator ends. A SimultaneousAnimations ends when its "rule" comes to be true; you can add an instance of a class that implements "Rule" to a SimultaneousAnimations and evaluate in the method Rule.test() if your animation should end.
You could even add command in a "generic command pattern" flavour to a timeline, so if you need to animate a sprite, reset the score, initialize the next level and restart the animation, you can.
When you'rd done adding animations (each Animator is expected to be constructed passing one or more Animable) you can start asynchronously the base timeline -that is- call the start() method (implicitly starting a timer, ie: one single timer for the entire animation involving several Animable moving around and changing color or frame).
To make your own animations there are several ways: -using a bunch of base animations (follow, escape, getTo, pause, followPath,...) that you can combine toghether with SimultaneousAnimation and TimeLine -writing your own implementation of Animator -extending an abstract class "SimpleAnimator" (obviously implementing Animator)
The last way is preferred, since you only have to specify four methods: -initialize -finalize -animate -test (the base Rule.test() method: it will be used if you don't specify external rules. SimpleAnimator implements Rule, too)
So, I'm going to search for people writing similar things, but since I'm new on this forum i can't swear i will find them :) Anyone interested in my strongly OOP-pattern based animation framework, please contact me.
Hi, do you plan to use your animation framework to add animation capabilities to gwt-widget like trees, menus etc? I think this would make sense. Would be nice to have optional pluggable animations for existing widgets to finally achieve something like gwt-ext but within gwt. I like you clean and simple approach!!
Cheers, Daniel
On 15 Sep., 09:36, jean <giancarlo.tod...@gmail.com> wrote:
> While refactorying, I'm gonna tell how my system works and what it can > do, to encourage people interested in cooperation to contact me. > The whole thing works as follows:
> it has > -an interface named "Animable" containing all methods you would expect > to find in an animable object (getPosition, setPosition,...) > -an interface named "Animator" containing some helper methods
> There are two major classes that implement "Animator": > "SimultaneousAnimations" and "TimeLine". If you add animations > (=classes implementing Animator) to a TimeLine, they will be > "executed" sequentially, while SimultaneousAnimations does it in > parallel. As a result of this arrangement, you can add animations to a > SimultaneousAnimations and then add SimultaneousAnimations to a > TimeLine, but you could add a TimeLine to the SimultaneousAnimations, > too (since TimeLine is also an Animator). > A TimeLine ends when its last Animator ends. > A SimultaneousAnimations ends when its "rule" comes to be true; you > can add an instance of a class that implements "Rule" to a > SimultaneousAnimations and evaluate in the method Rule.test() if your > animation should end.
> You could even add command in a "generic command pattern" flavour to a > timeline, so if you need to animate a sprite, reset the score, > initialize the next level and restart the animation, you can.
> When you'rd done adding animations (each Animator is expected to be > constructed passing one or more Animable) you can start asynchronously > the base timeline -that is- call the start() method (implicitly > starting a timer, ie: one single timer for the entire animation > involving several Animable moving around and changing color or frame).
> To make your own animations there are several ways: > -using a bunch of base animations (follow, escape, getTo, pause, > followPath,...) that you can combine toghether with > SimultaneousAnimation and TimeLine > -writing your own implementation of Animator > -extending an abstract class "SimpleAnimator" (obviously implementing > Animator)
> The last way is preferred, since you only have to specify four > methods: > -initialize > -finalize > -animate > -test (the base Rule.test() method: it will be used if you don't > specify external rules. SimpleAnimator implements Rule, too)
> So, I'm going to search for people writing similar things, but since > I'm new on this forum i can't swear i will find them :) > Anyone interested in my strongly OOP-pattern based animation > framework, please contact me.