• User

    filmato caricato con loadMovie -on release non funziona

    ciao a tutti,

    ho un file swf che carica con loadMovie un altro swf
    l'swf caricato contiene un pulsante che "copre" tutto lo stage e a cui è assegnato un evento tramite on(release)

    quando il file swf dentro l'swf contenitore l'evento non viene richiamato in sostanza è come se il click non facesse effetto.

    se invece richiamo l'swf "figlio" "direttamente" (ad esempio aprendolo con il browser) l'evento on(release) viene richiamato correttamente.

    il codice che uso per caricare l'swf "figlio" è:

    loadMovie('url_del_file_swf', _root.banner)
    ```dove _root.banner è un movieclip all'interno del frame stesso.
    
    è un problema noto? qualche consiglio su come risolverlo?
    
    grazie in anticipo

  • Super User

    Ciao gan per favore posta tutto il codice cosa deve succedere quando premi il pulsante?


  • User

    il codice è questo:

    
    on(release) {    
        if (typeof(clickIndex) != 'undefined') {
            trace('clicked '+allUrls[clickIndex])        
            getUrl(allUrls[clickIndex], '_self');
        }
    }
    
    

    ed è applicato ad un "Button" che copre l'intero stage ...

    allUrls viene valorizzato al caricamento tramite un file xml esterno, il codice mostra delle immagini in sequenza e, al click, redirige l'utente alla pagina collegata all'immagine (sono dei banner in sostanza) ...

    se carico l'swf dal file padre le immagini scorrono correttamente ma il click non va ...

    come faccio a verificare cosa contiene clickIndex "in produzione" cioè quando clicco sull'swf padre che richiama il figlio?

    (ripeto: il tutto funziona correttamente se accedo in modo diretto, cioè senza passare dal padre, all'swf figlio. funziona correttamente significa che cliccando mi redirige alla pagina associata all'immagine)


  • Super User

    Beh è un po piu' complicato di un pulsante caricato dinamicamente, mi dispiace ma non sono in grado di aiutarti, perchè non saprei ricostruire il filmato.


  • User

    capisco che è difficile senza avere il codice sottomano, ma sicuramente tu hai più esperienza di me 🙂

    ho cambiato il codice in questo modo, ho aggiunto una casella di testo dinamico chiamata "testo2" ...

    
    on(release) {
        trace(+' : '+typeof(this.bMgr));
        
        if (typeof(this.bMgr.allUrls[this.bMgr.clickIndex]) != 'undefined') {
            // questo codice viene eseguito
            this.testo2.text = 'found url: '+this.bMgr.allUrls[this.bMgr.clickIndex];
            // il getUrl non viene eseguito
            getUrl(this.bMgr.allUrls[this.bMgr.clickIndex], '_self');
        } else {
            this.testo2.text = 'clicked '+this.bMgr.allUrls[this.bMgr.clickIndex];
        }
    }
    
    ```la cosa stranissima è che cliccando sulle immagini viene valorizzata la casella di testo, cioè compare il messaggio "found url_corretto" ...
    
    ma il getUrl non viene eseguito ... :x
    
    qualunque idea è ben accetta :)
    
    p.s.
    l'url che compare è corretto inizia con http e riesco ad aprirlo nel browser

  • Super User

    Non so proprio come aiutarti, un tentativo prova a caricare con MovieClipLoader al posto di loadMovie il codice è questo

    
    var loader:MovieClipLoader = new MovieClipLoader();
    
    my_btn1.onRelease = function(){
    loader.loadClip("nome.swf", mcContainer);
    }
    
    

  • User

    ho risolto 🙂

    in pratica per usare getUrl da un filmato caricato esternamente (cioè da un altro dominio) è necessario aprire i link in _blank

    la soluzione l'ho trovata qui: kb2.adobe.com/cps/000/50c1cf38.html

    grazie in ogni caso per la disponibilità 🙂


  • Super User

    Grazie a te per aver postato la soluzione ciao.