Bonjour, bonjour,

Alors au menu de ce week-end, une petite explication sur la méthode que Francis préconise pour la gestion d'événements provenant des animations monté par les graphistes. :)

Avant toute chose, ce qui suit n'est valable que dans une application qui déploie le système MVC global de pixLib - pixLib - Vues, Modèles, Contrôleur.

But

Permettre à un graphiste d'envoyer un événement à un moment voulu dans une animation, cet événement est récupéré et traité par le moteur de l'application (site).

Principe

Fournir à une animation chargé dans un environnement «pixLib» une fonction global qui permet de faire la liaison avec le système événementiel de l'application (EventBrodcaster + FrontController).

Le graphiste

// envoi d'event
_global.__DISPATCH( {type:"onIntroAnimationEnd"} );
_global.__DISPATCH( {type:"onOpenMenuItem", name:"Contacts", id:3} );
// log
_global.__LOG( "onBeginAnimation" );

Le développeur

Dans la classe d'initialisation de l'application (Loader) :

private static function _initGlobals() : Void
{
_global.__DISPATCH = Loader._dispatchEventToController;
_global.__LOG = Loader._logMessage;
_global.__LOADER = Loader.getInstance();
}
 
private static function _dispatchEventToController( o : Object ) : Void
{
Debug.DEBUG( o );
EventBroadcaster.getInstance().dispatchEvent( o );
}
private static function _logMessage( o ) : Void
{
Debug.INFO( o );
}

Remarque, ne pas oublier d'appeler _initGlobals(); ;)

Origine - ML pixLib

Et voilà tout le monde est content. :)