Tweens Flash CS3
Par -Alexandre LEGOUT aka LAlex- le 30 octobre 2007, 16:50 - AS3 / Flex2 - Lien permanent
Je me rend compte carrément tard par rapport au temps depuis lequel j'utilise les Tweens, mais aviez-vous remarqué que la classe fournie par Adobe dans Flash CS3 (fl.transitions.Tween) émettait l'évènement de fin (TweenEvent.MOTION_FINISH) une frame trop tard? La raison est simple, le test effectué pour détecter la fin est strict:
if (t > this.duration) {
Il suffirait d'un '>=' à la place pour modifier cela, mais à ce moment là la fonctionnalité de boucle zapperais une frame avant de boucler...
Les Tweens de Flex et des "tween engines" que j'ai vu en AS3 (TweenLite et Tweener) n'ont pas ce défaut par contre...
Commentaires
visiblement il y a un autre bogue dans les Tweens intégrés à flash : Lorsqu'on a un tween dans plusieurs swf chargé dynamiquement dans un loader (typiquement pour un diaporama) les tweens à chaque chargement ne sont pas reinitialisées (même avec les intructions tween.rewind() et tween.stop(); si vous avez plusieurs swf externes avec les mêmes tweens sur des clips qui ont le même nom, ces tweens reprennent là où elles s'étaitent arrétées dans le précédent swf chargé. Le seul remede que j'ai trouvé c'est de mettre mes variables de tweens en _global et de les reinitialiser dans le loader avant de charger le swf suivant
Fil des commentaires de ce billet