Un des points forts de Adobe Flash réside dans le choix de la spécification ECMAScript (ECMA-produits - é enne anufacturers C M ORDINATEUR A ssociation). que la norme de script ActionScript et JavaScript, en fait, à la fois la tige à partir d'un niveau plus élevé car ils sont extrêmement similaires. C'est une des raisons pour lesquelles de nombreux programmeurs en ActionScript développer très facilement en JavaScript, et vice-versa.
ActionScript a toujours eu une gestion «double» d'événements qui a souvent confondu certains développeurs. En MovieClip, par exemple, vous pouvez définir un événement tout simplement en déclarant une fonction des propriétés de l'événement, par exemple:
Méthode 1
1 2 3 | ( ) { mio_mc. onRelease = function () { "Click sul MovieClip" ) ; trace ("Cliquez sur le MovieClip"); } |
D'autres objets, en revanche, besoin d'un traitement différent de l'événement que vous souhaitez surveiller, ce qui nécessite l'auditeur classique, un objet conçu pour cette tâche. Par exemple l'objet de la souris peut être contrôlé de cette manière:
Méthode 2
1 2 3 4 5 |
Les composants ont une autre variante, comme le composant Loader:
Méthode 3
1 2 3 4 5 | Object = new Object ( ) ; loaderListener var: Object = new Object (); = function ( evt : Object ) { . loaderListener compléter = function (evt: Object ) { "Caricamento completato" ) ; trace ("Upload terminé"); }; ( "complete" , loaderListener ) ; . myLoader_ldr addEventListener ("complète", loaderListener); |
Pourquoi ces différences? La raison pour laquelle, en vérité, est très simple. La méthode 1, le plus immédiat, est utilisé lorsque l'événement à "intercepter" est unique, c'est quand il ne fait aucun sens de «prendre» plusieurs fonctions les uns après les ' d'autre part. Méthodes 2 et 3, cependant, de créer des «listes» de "auditeur", et sont extrêmement utile et puissant parce que vous pouvez brancher des fonctions quasi infinies pour un événement particulier.
La même chose se passe en JavaScript et peut être vu dans des bibliothèques comme prototype . La méthode pratique d'observer (), fait l'objet de l'événement disponibles, permet d'accrocher des fonctions dans un événement d'un objet. Par exemple:
1 | window , 'load' , function ( ) { alert ( "Finestra caricata" ) ; } ) ; . Événement Observer (fenêtre, «charge», function () {alert ("Fenêtre chargé");}); |
Dans ce cas, nous avons fait appel à notre fonction qui affiche une alerte pour l'événement de chargement de l'objet window. Nous ne pouvait que répéter la déclaration et joindre épreuve supplémentaire:
1 2 | window , 'load' , function ( ) { alert ( "Finestra caricata - 1" ) ; } ) ; . Événement Observer (fenêtre, «charge», function () {alert ("charges fenêtres - 1");}); window , 'load' , function ( ) { alert ( "Finestra caricata - 2" ) ; } ) ; . Événement Observer (fenêtre, «charge», function () {alert ("charges fenêtres - 2");}); |
Cette fonction, également courante dans ActionScript, est extrêmement polyvalent, en particulier dans Javascript, était la clé de la réalisation de nombreux widgets et les extensions (voir le classique composant logiciel enfichable ) qui prolifèrent dans le Web d'aujourd'hui La capacité à faire la queue, en fait, , pour les événements qui sont déjà contrôlées par d'autres fonctions, peut être non-intrusive (discret) puis, dans la pratique, d'ajouter des fonctions à celles déjà présentes.







Derniers Commentaires
Marquez : Merci beaucoup, je l'ai allumé
Je l'ai résolu par la mise en [cc_objc] / / OptionViewController.m - ...
Giovambattista Fazioli : @ Mark: Je vous suggère de réfléchir une approche plus correcte. Si vous exécutez la sous-classe de l'onglet ...
Mark : Excusez le spam .. J'ai remarqué qu'il ya une erreur .. voici la correction [cc_objc] / PrimaClasse.h **** / # import ...
Marco : oubliée .. dans [cci] OptionViewController [/ cci] pour [cci] @ syntetize [/ cci] J'ai mis le délégué
louis : très clair et simple, je dois avouer que rédiger un an à peine utiliser des délégués créés par ...