AS3-Stop externe swf
Hallo, ich bin das laden einer externen swf in einen MovieClip, und ich will es aufhören, bis ich wählen, um zu spielen. Derzeit spielt er beim laden sofort.
var mc:MovieClip;
var swfLoader:Loader = new Loader();
swfLoader.contentLoaderInfo.addEventListener (Event.COMPLETE, eventLoaded);
var request:URLRequest;
request = new URLRequest("external.swf");
swfLoader.load (request);
function eventLoaded(e:Event): void
{
mc = e.target.content as MovieClip;
//does not stop the clip
mc.Stop ();
}
So, ich habe versucht, hinzufügen von ein Ereignis.ENTER_FRAME auf den movieclip, und halten Sie ihn dort, das wird aufhören, aber es wird mit dem ersten frame. Gibt es einen Weg, um es zu bleiben gestoppt, wenn erst geladen wird, wenn ich wählen Spielen?
- Haben Sie jemals eine Lösung dafür? Die Dokumentation von Adobe in dieser Sache scheint nicht existent 🙁
- Wenn Sie das laden einer SWF-die animierten movieclips/sprites auf der Bühne ist, dann müssen Sie die stop () - die Kinder-animation
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist eigentlich sehr nahe an dem, was Jochen Hilgers vorgeschlagen. Jedoch, in diesem Fall das Ereignis, das Sie wollen, ist eigentlich
INIT
stattCOMPLETE
.INIT
wird ausgelöst, wenn der Inhalt noch nicht vollständig geladen, aber ist bereit für den Einsatz (und wird anfangen zu spielen auf Ihrer eigenen).Befestigen Sie die Veranstaltung mit
Und Griff es mit
Werden Sie feststellen, dass Sie werfen kann, ist die
content
Eigenschaft voncurrentTarget
wie ein Film und es zu stoppen, noch bevor es wurde an der Bühne.Es ist wichtig zu beachten, dass es nicht sicher zu verwenden, die
content
Eigenschaft in einemPROGRESS
Ereignis (oder zu einem beliebigen Zeitpunkt vor einerINIT
oderCOMPLETE
Ereignis). Erhalten Sie eine Fehlermeldung, die Wirkung, die der Gegenstand ist noch nicht bereit.Ich schrieb dieses einfache, TestCase und es funktioniert gut... die geladene swf-Datei wird ganz einfach, nur ein tween auf der Zeitleiste.
Ich war auf der Suche für ein ähnliches problem/Lösung, aber mein problem war etwas unterschiedlich. Ich weiß, das war nicht Ihr Problem, sieht aber trotzdem fair zu teilen meine Lösung. Wenn ich versuchte zu tun,
mit dem Inhalt einer loader -, meine IDE Flash zeigte mir diese Fehlermeldung:
"Eigentum stoppen, die nicht auf flash.display.AVM1Movie-und es ist kein Standardwert."
Mir das passiert, weil die swf, die ich importiert wurde erstellt mit AS1 und AS3 nicht wie der Hauptfilm ( also ich dekompiliert swf zum fla-und neu kompiliert mit as3, es war eine Ausgabe aus After Effects). Jetzt weiß ich AVM1 und AVM2 sind Klassen, die Sie vertreten actionscript 1 und 2-Dateien.