2009-08-31 7 views
1

Tout en essayant de charger un bitmap sur un SWFLoader l'événement Event.COMPLETE n'est pas déclenchéFlex SWFLoader Event.COMPLETE ne peut pas déclencher

mySWFLoader.source = new Bitmap(Bitmap(someEvent.content).bitmapData); 

mais si j'utiliser une URL comme source de l'événement complet est déclenché:

mySWFLoader.source = "http://example.com/123.jpg"; 

Existe-t-il une sorte de restriction lors de l'utilisation de Bitmap en tant que source?

Répondre

1

Je crois que si vous utilisez des données qui existent déjà en mémoire (ce que votre Bitmap le ferait) alors aucune opération de chargement ne se produirait. Il devrait être utilisable immédiatement après la construction. Je sais que joindre des films dans AS2 a fonctionné comme ça. Si cela faisait partie de la bibliothèque, vous pourriez l'utiliser immédiatement et aucun événement de chargement ne se produirait.

+0

Merci pour cette info. Mais que se passe-t-il si je veux déclencher un événement après avoir défini un bitmap? Y a-t-il un moyen simple de le faire? – Yeti

+0

dispatchEvent() est une méthode publique. Vous pouvez donc simplement créer un événement et appeler mySWFLoader.dispatchEvent() avec. – Herms

+0

Ça a marché! À votre santé! – Yeti

0

Utilisez

mySWFLoader.addEventListener(Event.ADDED,handleSwfLoadComplete); 

Il tire lorsque le contenu est effectivement créé et ajouté à la liste d'affichage.

J'ai rencontré le même problème. Le problème est que lorsque vous utilisez Bitmap or Class comme source, le contenu est rempli seulement après que le Bitmap or class a été instancié.

Cela se produit dans swfLoader.loadContent qui ajoute éventuellement le contenu nouvellement créé au displayList en tant qu'enfant du chargeur et distribue éventuellement l'événement ADDED.

Questions connexes