Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di DeR
    Registrato dal
    Mar 2003
    Messaggi
    975

    Interagire con swf caricato con addChild

    Ragazzi, vi spiego il mio problema...

    Cliccando su un bottone, carico un swf con addchild, fin qui tutto bene! il problema nasce quando cerco di interagire con questo swf, come devo fare per mandarlo al frame 10 per esempio.

    con as2, caricavo il filmato su un certo livello e poi facevo level1.mc.gotoAndPlay(10), con questo come devo fare?
    Ciao DeR

  2. #2
    Utente di HTML.it L'avatar di DeR
    Registrato dal
    Mar 2003
    Messaggi
    975
    Ho 2 swf:

    1) index.swf (contenente un menu)
    2) home.swf (contenente una timeline di 100 frame)


    Funzionamento
    Cliccando sul menu presente in index.swf, carico un swf esterno chiamato home.swf con il metodo addchild(). fin qui tutto ok!

    Problema
    Vorrei che cliccando su un altro tasto del menu presente su index.swf, mi facesse vedere l'animazione presente sul frame 10 del file home.swf (quello caricato successivamente)

    Spero di essere stato piu chiaro.
    Ciao DeR

  3. #3
    Utente di HTML.it L'avatar di DeR
    Registrato dal
    Mar 2003
    Messaggi
    975
    Forse ho risolto con questa soluzione

    codice:
    var content:MovieClip = MovieClip( loader.content );
    content.gotoAndPlay("ok");
    Ciao DeR

  4. #4
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    carico un swf esterno chiamato home.swf con il metodo addchild()
    Non è esatto: Con il metodo addChild(nomeOggetto) aggiungi allo stage il filmato caricato precedentemente con il metodo .load della classe Loader.

    Codice PHP:
    pulsante.addEventListener(MouseEvent.CLICKcarica);

    function 
    carica(evento:MouseEvent):void
    {
        var 
    loader:Loader = new Loader  ;
        
    loader.load(new URLRequest ("prova.swf"));
        
    loader.contentLoaderInfo.addEventListener(Event.COMPLETEavvia)
        
    addChild(loader);

    }
    function 
    avvia(evento:Event):void
    {
        
    //var mioClip:MovieClip = evento.target.content as MovieClip
        
    evento.target.content.gotoAndPlay(2);

    Nota che in questo esempio ho commentato la definizione di una variabile di tipo MovieClip a cui ho assegnato il valore del contenuto del loader perchè in questo caso è sufficente fare riferimento a ciò che ha provocato l'evento (il caricamento completo del file).

    Se ti serve utilizzare l'.swf caricato in altre funzioni, devi istanziare una variabile di tipo MovieClip a livello globale, cioè visibile in tutto il codice e nella funzione di caricamento completato gli assegni il valore del contenuto del Loader in questo modo:

    Codice PHP:
    var mioClip:MovieClip;

    pulsante.addEventListener(MouseEvent.CLICKcarica);

    function 
    carica(evento:MouseEvent):void
    {
        var 
    loader:Loader = new Loader  ;
        
    loader.load(new URLRequest ("prova.swf"));
        
    loader.contentLoaderInfo.addEventListener(Event.COMPLETEavvia)
        
    addChild(loader);

    }
    function 
    avvia(evento:Event):void
    {
        
    mioClip evento.target.content as MovieClip
        mioClip
    .gotoAndPlay(2);

    Con questo secondo esempio, dalla funzione "avvia" in poi puoi utilizzare la variabile "mioClip" come se fosse un MovieClip e di conseguenza assegnargli metodi e proprietà riservate a questa classe.


    ciao

  5. #5
    Utente di HTML.it L'avatar di DeR
    Registrato dal
    Mar 2003
    Messaggi
    975
    Grazie 1000!
    Ciao DeR

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.