Accueil > Carnet > Librairie EF pour AS3

Après plus de 14 années de présence sur le web, je continue encore aujourd'hui cette incroyable aventure qu'est la découverte du virtuel. Lampe torche, sac à dos, planche de surf et bien sûr ce calepin indispensable pour mémoire.

#359 Librairie EF pour AS3 10 Mars 2009

Flash AS3

Attention, il est important de considérer que cet article est une archive, son contenu est probablement obsolète!

Durant mon apprentissage de flash, j'ai été frustré plus d'une fois par la programmation lourde pour finalement réaliser peu de choses. J'ai donc pris l'initiative de réaliser une petite librairie qui a pour objectif de simplifier le code à la manière de JQuery. L'intérêt : « do more write less ».

Un des avantages : toutes les fonctions retournent l'objet initial, il est donc possible d'appeler plusieurs fonctions à la suite sans réécrire le nom de l'objet.

Exemple de code :

// obj est un movieclip.
obj.x = 100; 
obj.y = 200; 
obj.width = 300; 
obj.height = 400;
obj.alpha = .4; 
 
TweenMax.to(obj, .5, {x:4, y:2, scaleX:4}); 

On peut facilement remarquer que le code est surchargé … Avec EF (EnhancedFlash) et plus spécifiquement sa librairie : EnhancedClip :

obj
    .set({x:100, y:200, width:300, height:400, alpha: .4})
    .animate( .5, {x:4, y:2, scaleX:4}); 

J'essaierai de faire un petit site dans les jours à venir pour détailler les différentes fonctions. En attendant, n'hésitez pas à regarder le code source, vous y découvrirez plein de petites choses utiles !

Fonctions disponibles

addChildren / removeChildren

Ajoute / supprime un ensemble d'enfants du MovieClip courrant.

Exemple :

obj.addChildren([MovieClip1, MovieClip2, MovieClip3]);

addEvents / removeEvents

Ajoute / supprime un ensemble d'événements.

Exemple :

obj.addEvents([
    {name:MouseEvent.MOUSE_OUT, call:out},
    {name:MouseEvent.MOUSE_OVER, call:over});

animate

Cette fonction utilise TweenMax pour réaliser des animations visuelles. Si vous préférez une autre librairie n'hésitez pas à modifier la fonction en question pour l'adapter à vos envies.

Exemple :

obj.animate(
    .4, // durée de l'animation 
    {x:30, y:30} // description TweenMax
);

Télécharger

Cette librairie est gratuite. Néanmoins, elle ne pourra pas être vendue, ni commercialisée. Merci aussi de bien vouloir faire remonter vos éventuelles améliorations !

Commentaires

JeanJack 10 Mars 2009

Pour info au cas où, pour synthétiser le paramétrage il existe nativement l'instruction with (voir help.adobe.com/...)
Ce qui donne :

with (obj) {x:100; y:200; width:300; height:400; alpha: .4}

Reply

Xethorn 10 Mars 2009

@JEANJACK : En effet, je ne connaissais pas du tout with. Mais le setting n'est pas non plus la seule fonction que je souhaite ajouter, dans la classe, il y a d'autres méthodes (notamment sur les événements) que j'améliorerai dans ses prochaines versions.

La classe contient aussi d'autres méthodes inexistantes dans flash :
- addChildren (ajoute plusieurs enfants).
- addEvents (ajoute plusieurs événements).
- removeEvents (supprime plusieurs événements).

Par la suite je pense aussi rajouter un destructeur (qui supprime tous les événements et tous les enfants), pratique pour libérer rapidement de la mémoire et faciliter le boulot du garbage collector.

Note : je regrette que notre prof ne nous ait jamais parlé de ça avant … 

Reply

Ajouter un commentaire