There’s a new tween in town

Les librairies de tweening sont la base de l’animation programmée en Flash. Comme beaucoup, j’ai découvert MC Tween puis Tweener. Depuis, les projets concurrents se sont multipliés pour des facteurs divers (comparatif de vitesse ici), mais je n’ai pas vu l’intéret de délaisser Tweener.

Mais il y a un mois, Grant Skinner a changé la donne en présentant gTween :

La librairie n’est forcement pas la plus rapide ni la plus légère (mais se défend bien). C’est surtout sur les possibilités qu’elle est intéressante. On y retrouve bien le mode “tween en une ligne” avec une syntaxe assez classique :

Tweener :

Tweener.addTween(mySprite, {x:200, y:200, time:2, onComplete: handleComplete});

gTween :

new GTween(mySprite, 2, {x:200, y:200}, {completeListener: handleComplete});

Mais avec gTween, on peut modifier ce tween, à postériori, pour y ajouter des listeners, stopper le tween, changer tous les paramètres. C’est terrible !

Un des exemples de Grant (séquence de tweens) :

var myTween1:GTween = new GTween(target1,3,{x:20});
var myTween2:GTween = new GTween(target2,0,{x:200});
myTween1.addChild(myTween2,true); // true = synch durations
var myTween3:GTween = new GTween(target3,3,{y:50});
myTween3.delay = 2;
myTween1.nextTween = myTween3;

scrollRect fait partie de ces propriétés spéciales de Flash ou pour qu’un changement de paramètre soit pris en compte, il faut réassigner le scrollRect entier. Le seul avantage restant à Tweener est la gestion de ces propriétés spéciales en une seule ligne. gTween peut tweener ces propriétés en une seule ligne via les propriétés assignmentProperty et assignmentTarget (la syntaxe idéale reste à préciser).

L’ensemble manque encore d’une documentation complète, mais c’est clairement la nouvelle librairie de référence à utiliser dans tous les projets AS3. Merci à Grant Skinner d’améliorer une nouvelle fois l’utilisabilité de Flash !

Leave a comment

Your comment