• User

    Ehm..non lo so..😊


  • Super User

    Così

    
    var loader:Loader = new Loader();;
    
    pulsante_btn.addEventListener(MouseEvent.CLICK, onClick);
    
    function onClick(event:MouseEvent):void 
    {    
        loader.load(new URLRequest("nome.swf"))
        }
    addChild(loader)
    //loader.x = 100;
    //loader.y = 100;
        
    

  • User

    Ciao Nhatan!
    Grazie per il codice per caricare swf esterni..
    Comunque ho adottato un'altra soluzione..
    il compilatore non mi dà errori :vai: ma il bottone
    non mi compie l'azione che deve..:bho:
    sai dirmi dove sbaglio?

    function onStradinaPulsanteClick (event:MouseEvent):void
    {
    if (verdePage.semaforoVerde.visible==true)

            {
                addChild(attraversaVerdePage);
                removeChild(verdePage);
                (attraversaVerdePage).y=0,(attraversaVerdePage).x=0;
            }
            else
            {
                addChild(attraversaRossoPage);
                removeChild(verdePage);
                (attraversaRossoPage).y=0,(attraversaRossoPage).x=0;
            }    
        }
        function onStradinaPulsanteRossoClick (event:MouseEvent):void
        {
            if (rossoPage.semaforoRosso.visible==true)
    
            {
                addChild(attraversaRossoPage);
                removeChild(rossoPage);
                (attraversaRossoPage).y=0,(attraversaRossoPage).x=0;
            }
            else
            {
                addChild(attraversaVerdePage);
                removeChild(rossoPage);
                (attraversaVerdePage).y=0,(attraversaVerdePage).x=0;
            }    
    

    Grazieee!!!


  • Super User

    Non vorrei dire sciochezze, ma ho provato anch'io ad utlizzare la proprieta visible all'interno di una condizione if, ma non viene rilevata, per questo che nell'esempio che avevo fatto io mi ero basato sui currentFrame del mc semaforo. Mi sembra, ma magari sbaglio, che flash non riesca a rilevare se un clip filmato sia visibile o invisibile e agire di conseguenza.


  • User

    Ciao Nhatan!Io leggendo la documentazione di adobe as3 programming credo di aver letto da qualche parte che è possibile usare visible..ma forse mi sbaglio..A questo punto visto che i tempi stringono userò il codice per caricare l'sfw esterno!;)Grazie mille per l'aiuto!!A risentirci!


  • Super User

    Guarda che non sono sicuro, dico solo che nelle prove che ho fatto io la propietà visible nella condizione if veniva ignorata, ma non essendo un mago non lo do per certo, ciao.


  • User

    Certo Nhatan! Ovviamente non sono sicura neanche io..ma purtroppo il bottone non va..quindi deve esserci per forza qualcosa che non funziona..Ora però mi è sorto un altro dubbio..perdonami se ti scoccio..:)
    Se risolvo associando al pulsante la funzione per loadare l'swf..comunque c'è il problema che a seconda dello stato in cui si trova il semaforo (verde o rosso) deve caricarsi un swf diverso..quindi sempre un'istruzione if..else devo metterci..no?


  • Super User

    Se vuoi che succeda qualcosa a seconda che il semaforo sia verde o rosso non vedo altre strade che una istruzione condizionale if, ma se la condizione è il numero del frame di un movieClip l'istruzione funziona sicuramente.


  • User

    Ciao Nhatan!
    Puoi aiutarmi ancora??
    Ho inserito nel mio file il codice per caricare swf esterni..
    e funziona..ma c'è un grande problema:
    nel momento in cui, al click del mouse sul pulsante, si carica l'swf desiderato
    in sottofondo resta l'swf principale..
    ho provato a mettere removeChild per non visualizzarlo, ma non
    va via..:ocome posso fare?????
    grazie!!!!


  • Super User

    Ciao se lo swf principale non è caricato dinamicamente ma è sullo stage non puoi rimuoverlo con removeChild, potresti settare la proprità visible a 0.


  • User

    Ciao! Allora io ho un swf principale (main.swf). Questo contiene un menu cliccando sui tasti del quale devono caricarsi diversi swf..
    Allora gli swf si caricano, ma in trasparenza sotto resta lo sfondo dell'swf principale.
    Il main.swf è programmato in un file main.as, mentre lo script relativo al caricamento dei vari swf è attaccato sulla timeline ai vari pulsanti..
    Se metto visible a zero o false non va..


  • Super User

    Si pardon, visible false, alpha 0 se lo sfondo del main è un movieclip e su lo swf che carichi scrivi parent.sfondo_mc.visible=false non funziona?
    PS. no lascia perdere è un approccio as2 ma in as3 non va. e se metti l'azione visilbe=false dentro una funzione e poi richiami la funzione al caricamento del swf esterno?


  • User

    scusami ma non so come si fa..puoi farmi un esempio per favore?


  • Super User

    Be semplice, se metti del codice dentro una funzione questo non viene eseguito finchè la funzione non viene chiamata, esempio

    
    function invisibile()
    {
    mc_sfondo.visible=false
    }
    
    

    e nel pulsante che carica lo swf basta mettere invisibile()
    Ora se il codice fosse sulla time line non avrei problemi ad aiutarti, ma siccome tu fai le document class, delle quali io non sono ancora pratico, non so dirti dove mettere il codice.


  • User

    Ho capito..io comunque il codice per uploadare l'swf l'ho attaccato al pulsante che deve caricarlo nella timeline..quindi potrei mettere lì quel codice per gestire la visibilità dello sfondo?
    io ho questo:

    dinaPedala.addEventListener(MouseEvent.CLICK, onDinaPedalaClick);
    {
    var loader3:Loader = new Loader();
    function onDinaPedalaClick(loadEvent:Event)
    {
    addChild(loader3);
    }
    loader3.load(new URLRequest("pedalare_dina.swf"))
    }


  • Super User

    In quel codice dovresti fare cosi

    
    function invisibile()
    {
        sfondo_mc.visible=false
    }
    dinaPedala.addEventListener(MouseEvent.CLICK, onDinaPedalaClick);
    {
    var loader3:Loader = new Loader();
    function onDinaPedalaClick(loadEvent:Event)
    {
    addChild(loader3);
    invisibile()
    }
    loader3.load(new URLRequest("pedalare_dina.swf"))
    
    }
    
    

  • User

    Purtroppo non va...ma ho risolto in un altro modo: prima di caricare l'swf con sfondo diverso ho caricato una pagina con lo sfondo che mi serve e in questa cliccando su un pulsante si avvia l'swf con lo sfondo che voglio!Un escamotage forse non tanto ortodosso..ma alla fine l'effetto che volevo ottenere era questo..quindi per ora lascio stare così!
    Posso chiederti un'altra cosa?
    Io in ogni swf voglio mettere dei suoni diversi..ho provato a metterli sulla timeline in un livello a parte rispetto a tutti gli altri contenuti e li ho limitati per i frames in cui voglio si senta il suono..Purtroppo però quando parte non finisce più..e si accavallano tutti i vari suoni dei vari livelli anche se posizionati su frames diversi e i suoni associati a vari movieclip..insomma un caos tremendo per le orecchie..Sai darmi qualche consiglio?
    Grazie mille!!


  • Super User

    Li hai messi sulla time line principale?


  • User

    No..sulle timeline relative ai vari moviclip che formano il filmato principale..


  • Super User

    Questi movieclip sono caricati dinamicamente dalla libreria o sono sullo stage? Se sono sullo stage dovresti caricare i suoni dalla libreria in modo da poterli scaricare quando non servono.