Frage

Ich habe eine SWF-Datei in eine Klasse eingebettet diese Syntax über meine Klassendefinition mit:

[Embed (source='/../assets/MyMovieClips.swf', symbol='SpecialMovieClip')]
public class SpecialMovieClip extends MovieClip

Der MovieClip- Vermögenswert mit meiner Klasse in Ordnung verbunden zu sein scheint, und instanziiert mit ihm zusammen, und ist sichtbar, aber:

  • Ich kann keine Instanzen auf der Bühne platziert Zugriff in diesem Clip.
  • Die Timeline-Scripting scheint nicht funktionsfähig.

Ist das der Nachteil von SWF-Dateien zur Compile-Zeit mit dem Flex SDK Einbettung? Also, vielleicht sollte ich einfach wieder mit dem Flash-IDE zu kompilieren, wenn ich Timeline-Scripting oder Instanzen wollen positioniert auf der Bühne?

War es hilfreich?

Lösung

  1. Wenn Sie mit dem [Embed] Tag einbetten werden alle Skripte von Ihnen Symbol entfernt werden. Aber man kann mit MovieClip.addFrameScript () Skript Rahmen hinzufügen:

    public function SpecialMovieClip () {

    addFrameScript (4, myfunc)

    }

    private Funktion myfunc () {

    stop ()

    }

  2. Ich glaube, Sie nur die Symbole in einem Movieclip mit movieClip.GetChildAt zugreifen können ()

Andere Tipps

Von der docs : ( scrollen Sie nach unten zu "Einbetten SWF Symbole")

  

Wenn die SWF-Datei mit einem beliebigen Actionscript-Code enthält, druckt Flex eine Warnung während der Kompilierung und dann Streifen aus dem Actionscript aus dem embed-Symbol. Das bedeutet, dass Sie das Symbol nur einbetten selbst.

Je nachdem, was Sie tun wollen, ich glaube, Sie besser dran, würde die gesamte SWF einbetten, oder Laden Dinge in zur Laufzeit.

Im Übrigen in Bezug auf nicht in der Lage zu sein Zeug zugreifen innerhalb des eingebetteten Symbol, haben Sie sicher, dass das Ziel SWF AS3 ist? Wenn Sie das Einbetten (oder Laden) AS2 Inhalt, dann ist die Interoperabilität nur durch Localconnection erlaubt. Dies spiegelt sich auch auf der doc Seite abgedeckt I verknüpft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top