2012-11-11 4 views
1

Actuellement, j'ai une fonction (LoadImg) qui va charger l'emplacement du fichier donné et retourner le chargeur. C'est une bonne pratique d'inclure également ce qui revient à «quand l'image a réellement terminé le chargement». Ceci est généralement fait avec un gestionnaire d'événement. Mais avec tel, vous pouvez seulement dire une fois que l'image a chargé exécuter une autre fonction. Mais j'ai besoin de la fonction 'LoadImg' pour retourner l'image. Comment puis-je dire seulement «myLoader» quand il est terminé?AS3: Lors du chargement Image Retour Image

Répondre

1

Je ne pense pas qu'il soit possible d'utiliser un appel synchrone (fonction return) avec un événement asynchrone (loader complete).

La connexion d'un écouteur d'événement à l'événement Complete est le chemin à parcourir, mais vous ne savez pas comment cela va tenir dans votre code.

Voici une question similaire qui pourrait être utile: Image size in AS3, la réponse est utile à votre question.

0

Je pense que la solution consiste à utiliser un proxy.

L'idée est que le proxy, qui est dans ce cas un conteneur d'image. Le conteneur peut être renvoyé et utilisé par d'autres fonctions et objets pour définir l'emplacement. Une fois l'image chargée, le gestionnaire de chargement complet peut mettre à jour le conteneur avec l'image chargée.

Vous pouvez lire à propos du modèle de conception de proxy à http://www.as3dp.com/category/design-patterns/proxy/ avec des exemples de code et une description détaillée.