Continuano i Tutorial di ActionScript3 su JuliusDesign, oggi andiamo a vedere come caricare un filmato SWF esterno in ActionScript 3
In ActionScript 3.0 le cose sono molto cambiate, infatti in questo caso per caricare un swf esterno utilizzeremo la classe Loader
Il codice ActionScript base è il seguente:
var loader:Loader = new Loader();
loader.load(new URLRequest("filmato_esterno.swf"));
addChild(loader);
In questo caso viene caricato un swf esterno di nome filmato_esterno sullo stage a coordinate x 0 e y 0
Se invece volessimo caricare il nostro filmato swf esterno in un determinato clip filmato vi basterà associarlo al metodo addDild come vediam in questo esempio:
var loader:Loader = new Loader();
loader.load(new URLRequest("filmato_esterno.swf"));
my_mc.addChild(loader);
In questo caso viene caricato un swf esterno di nome filmato_esterno all’interno di un clip filmato di nome istanza my_mc
Vediamo invece un codice un pò più complesso per aver maggiore controllo su quello che succede
// Creo un oggetto URLRequest con parametro del file esterno da caricare
var request:URLRequest = new URLRequest("filmato_esterno.swf");
// Creo un nuovo oggetto della classe Loader
var loader:Loader = new Loader();
// Aggancio un listener che verifica il fine caricamente è richiama una funzione
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler);
// Inizializzo la funzione completeHandler, che verrà richiamata quando il contenuto esterno è caricato completamente
function completeHandler(event:Event) {
trace("Caricamento completato!");
}
// Richiamo il metodo load, che decreta l'avvio del caricamento esterno
loader.load(request);
// Aggiungo l'oggetto Loader al clip my_mc attraverso il metodo addChild()
my_mc.addChild(loader);
In questo caso grazie alla classe contentLoaderInfo posso controllare determinate azioni in questo caso la fine del caricamento fancedomi stampare in output la scritta “Caricamento completato!”
Per la classe Loader è possibile monitorare tramite l’ oggetto LoaderInfo i seguenti eventi:
Come al solito ecco i file sorgenti con i quali approcciarsi meglio al codice, alla prossima lezione di AS3
Scarica il sorgente
Guarda il Tutorial
Articoli simili in Actionscript, Flash, Tutorial AS3
tag abilitati: <code> </code> | <a href=""> </a> | <b> </b> | <i> </i>
Iscriviti ai Feed RSS dei commenti di questo articolo

Ila
25 giugno 2009
Ottimo tutorial come sempre…i pochi che si capiscono davvero!
Tony
25 giugno 2009
Le immagini che hai usato per la rubrica dei tutorial as3 sono troppo forti! Poi questa spacca troppo grande!
Angelo
17 luglio 2009
Ciao volevo chiederti una cosa in merito a questo tutorial! Premetto che non ho molta dimestichezza con AS3!
Se volessi caricare il file swf con delle coodinate x, y generiche diverse da x=0, y=0 come si fà?
grazie Ancora per i tuoi tutorial!
Angelo
Ale
27 agosto 2009
Ciao! Un problema a riguardo apparentemente banale:
Se all’swf che carico volessi inviare un parametro/variabile sai come fare?
var loader:Loader = new Loader();
loader.load(new URLRequest(“filmato_esterno.swf”));
my_mc.addChild(loader);
Grazie,
A
midavigo
21 dicembre 2009
caricando più swf esterni l’audio continua in sottofondo, come toglierlo?
Giuseppe
6 febbraio 2010
Ciao, ogni volta che carico un altro swf l’audio del video continua……..è possibile eliminarlo?
toni
11 giugno 2010
SoundMixer.stopAll ();
per bloccare l’audio
toni
11 giugno 2010
Ciao Giuliano,
potresti aiutarmi a risolvere un problema?
in pratica quando carico un swf esterno:
——————————————
var test:Loader = new Loader();
test.contentLoaderInfo.addEventListener(Event.COMPLETE, fineCaricamento)
function fineCaricamento(loadEvent:Event)
{
addChild(loadEvent.currentTarget.content);
}
test.load(new URLRequest(“cartina.swf”))
—————————————————
mi carica una mappa draggabile che al primo accesso il drag funziona ma quando navigo nelle altre voci menù e poi ritorno alla voce menù che contiene la mappa il drag non funziona più.
L’area draggabile viene attivata da on MouseDown mentre se uso OnPress il problema di cui sopra non avviene (il drag funziona tutte le volte che ci accedo)
Sò che è molto complicato a spiegare il tutto ma spero che tu abbia ugualmente capito tutto.
ciccio8
9 agosto 2010
ottimo tutorial grazie, ma per fare l’inverso ?
avrei la necessità di inviare semplici comandi in actionscript 3 da un swf esterno, verso il contenitore che lo ha caricato, in modo da spostare la timeline principale di un frame.
In as2 se nn ricordo male, bastava scrivere qualcosa del genere nel file swf caricato:
_leveo0.gotoAndStop(2);
nn riesco a convertirlo in as3
grazie in anticipo