ci sono riuscito!
usando gli event listener (per la prima volta in vita mia)
breve tutorial:
creo 3 livelli
"btn" è il nome del bottone logo iniziale mostrato durante il preload del filmato flv
"_spot_" è il componente video che chiama il flv
tra i frame 1 e 30 c'è una transizione visiva per arrivare dall'immagine iniziale che si vede durante il preload alla visualizzazione del filmato vera e propria
tramite l'as al frame 1, con l'event listener, appena il filmato è pronto (listener _root._spot_.addEventListener("ready", listenerObject);) si va al frame 2
frame 1
codice:
stop();
var listenerObject:Object = new Object();
onEnterFrame = function() {
if ( _root.ready ) {
_root.btn.onRelease = function() { gotoAndPlay(2); }
}
}
listenerObject.ready = function(eventObject:Object):Void {
_root._spot_.pause();
_root.ready = true;
gotoAndPlay(2); // inserire qui il codice di gestione degli eventi
};
listenerObject.complete = function(eventObject:Object):Void {
gotoAndPlay(35); // inserire qui il codice di gestione degli eventi
};
_root._spot_.addEventListener("ready", listenerObject);
_root._spot_.addEventListener("complete", listenerObject);
_root._spot_._visible = false;
al frame 30 la timeline viene bloccata e il filmato viene avviato _root._spot_.play();
frame 30
codice:
stop();
_root._spot_.play();
_root._spot_._visible = true;
al completamento del filmato il listener _root._spot_.addEventListener("complete", listenerObject); richiama la funzione per passare al frame 35
frame 35
codice:
_root._spot_._visible = false;
al termine della timeline si torna all'inizio, e stavolta il clip non riparte da solo, ma solo se il bottone "btn" viene rilasciato
codice:
_root.btn.onRelease = function() { gotoAndPlay(2); }
verificando che il filmato sia già stato visto una volta ( if ( _root.ready ) )
spero possa esservi utile.
a presto.