2009-08-09 5 views
1

Ich wollte, dass eine Animation benutzerdefinierte Ereignisse im laufenden Betrieb versendet. Es wurde offensichtlich, dass nicht einmal Trace() lief. Nach einigen Suchvorgängen habe ich bei Adobe folgendes gefunden:
"Wenn die SWF-Datei ActionScript-Code enthält, druckt Flex beim Kompilieren eine Warnung aus und entfernt dann den ActionScript-Code aus dem Embed-Symbol. Dies bedeutet, dass Sie nur einbetten können das Symbol selbst. "Warum streift Adobe Flex ActionScript aus Flash Symbole beim Kompilieren ein?

Ich fand auch ein Work-around von Grant Skinner an:
http://gskinner.com/blog/archives/2007/03/using_flash_sym.html

Also, ich gehen kann, aber ich frage mich immer noch. Warum strich mxmlc ActionScript aus Flash-Ressourcen beim Einbetten ihrer Symbole in Flex-Anwendungen mithilfe von Metatags?

Antwort

3

Sorry für die sehr späte Antwort, aber seit ich diesen Code geschrieben habe, kann ich antworten. :-)

Grundsätzlich gibt es zwei Antworten.

  1. Für alte SWF Vermögenswerte, die AS2-Bytecode enthalten, es war viel zu viel Arbeit zu versuchen, den Bytecode zu AS3 zu konvertieren. Ich gehe davon aus, dass dies nicht der Fall ist, der Ihnen egal ist.

  2. Für SWF-Assets, die mit AS3-Bytecode verknüpft sind, besteht das grundlegende Problem darin, dass keine Abhängigkeitsinformationen mehr vorhanden sind. Wenn wir also das Asset klonen, haben wir keine Ahnung, was wir sonst noch benötigen. Da Flash eine SWC exportieren kann, entschied ich, dass dies ein weitaus robusterer Workflow für das Abrufen von Assets mit Code von Flash zu Flex ist. (Werfen Sie einen Blick in eine SWC-Datei und Sie sehen eine XML-Datei, die die vom Linker verwendeten Abhängigkeiten beschreibt.)

0

Es ist wahrscheinlich ein Leistungsproblem. Laden Sie eine SWF-Ressource dynamisch, indem Sie SWFLoader oder Loader statt einbetten, um sie zu laden, ohne sie zu entfernen.