Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema unload swf

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70

    problema unload swf

    Salve ragazzi ho un problema, e spero che qualcuno mi posso aiutare, vi descrivo un po cio che sto provando a fare,
    La pagina principale, ha un menu che carica degli swf esterni sullo stage, tra questi pulsanti c'e ne uno che quando cliccato si divide in tre pulsanti(seplice tendina), che caricano delle gallerie, il problema sorge quando voglio togliere la galleria e tornare alla home, infatti mi si apre la home al click sul pulsante ma la galleria continua ad essere li sullo stage rendendo la navigazione ovviamente impossibile vi posto un po di codice per essere piu chiaro.

    con questo codice carico gli swf esterni che contengono le gallerie
    Codice PHP:
    var my_videos:Array=new Array("slide2/main.swf","slide1/main.swf","slide/main.swf");
    var 
    my_buttons:Array=new Array(button_1,button_2,button_3);
    var 
    request:URLRequest;
    var 
    loader:Loader=new Loader();

    var 
    main:MovieClip this.parent as MovieClip;
    var 
    holder_mc:MovieClip=new MovieClip();
    main.addChild(holder_mc);

    for(var 
    i:int=0;i<my_videos.length;i++)
    {
        
    my_buttons[i].id=i;
        
    my_buttons[i].mouseChildren=false;
        
    my_buttons[i].buttonMode=true;
        
        
    my_buttons[i].addEventListener(MouseEvent.MOUSE_DOWN,onButtonDown);
    }

    function 
    onButtonDown(evt:MouseEvent):void
    {
        if(
    loader!=null)
            
    loader.unload();
        
    request=new URLRequest(my_videos[evt.target.id]);
        
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onImageLoaded);
        
    loader.load(request);
    }

    function 
    onImageLoaded(evt:Event):void
    {
        if(
    holder_mc.numChildren>0)
            
    holder_mc.removeChildAt(0);
        var 
    swf:MovieClip=evt.target.loader.content as MovieClip;
        
    holder_mc.addChild(swf);

    il codice as della galleria è ovviamente un po complesso e lungo quindi non lo posto, ho provato ad inserire dentro un case che regola i pulsanti della galleria questo codice

    Codice PHP:
    removeChild(loader);                 
    loader.unload(); 
    pero mi da questo errore
    Codice PHP:
    TypeErrorError #2007: Il valore del parametro child deve essere diverso da null.
        
    at flash.display: : DisplayObjectContainer/removeChild()
        
    at org.FlepStudio::Main/onArrowDown() 
    come faccio a risolvere il problema?? ho fatto tanti tentativi ma mi sembra di

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70
    Per chiarezza allego il main della galleria che uso, alla fine del codice, c'e un case in cui ho inserito questo codice per scaricare e caricare al click di un bottone
    Codice PHP:
    switch(evt.target)
                {
                    case 
    arrow_right:
                    
                    
    removeChild(loader);
                    
    loader.unload();
                    
                        var 
    request:URLRequest = new URLRequest("main.swf");
                        var 
    loader1:Loader = new Loader();
                        
    loader1.load(request);
                        
    addChild(loader1);
                    break; 
    http://www.mediafire.com/?7cv09zr7101b1vz
    questo è il main intero

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70
    scusate continuo a scrivere perche piano piano mi sembra di capire qualcosa, il mio problema e come raggiungere, quando faccio il removechild, la variabile loader che riguarda il mio swf caricato, quindi come faccio a raggiungere il loader dell'swf che carico sullo stage, da dentro lo stesso swf???? sto impazzendo aiutatemi perfavore

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    70
    ragazzi mi serve assolutamente una mano adesso ho cambiato approccio e carico il mio swf in un movie_clip contenitore, usando questo codice
    Codice PHP:

    var cont_mc=new MovieClip();
    addChild(cont_mc);
    carica_mc.buttonMode=true;
    carica_mc.addEventListener(MouseEvent.MOUSE_DOWN,fnCarica);
     
    function 
    fnCarica(e) {
        var 
    l=new Loader();
        
    l.load(new URLRequest("C:/Users/Chayton/Desktop/prova/slide/main.swf"));
        
    addChild(l);

    poi dal foglio esterno che contiene il codice della galleria uso questo codice per risalire al contenitore e cancellarlo ma niente non fa niente
    Codice PHP:
    var cont=new MovieClip();
    cont=this.parent.root['cont_mc'];
    cont.removeChildAt(0); 
    mi dice che l'indice e fuori intervallo perfavore aiutatemi o datemi uno spunto per continuare a lavorarci

  5. #5
    Utente di HTML.it L'avatar di Sleter
    Registrato dal
    Aug 2005
    Messaggi
    465
    Ciao

    Ti ho inviato un messaggio privato per contattarci su Skype o Messenger.

    Dalla descrizione che hai fatto, capire come è strutturato il tuo sito e quindi suggerirti una soluzione adeguata è troppo difficile.
    Bisognerebbe avere sott'occhio tutto il codice e il rispettivo .fla o come minimo una descrizione più dettagliata sulla struttura di tutto il sito.

    Per ora posso dirti solo che se la chiamata alla funzione di load e unLoad fosse fatta dal filmato principale non ci sarebbero problemi nè se questa venisse chiamata da un pulsante unico o da un pulsante che si divide in 3 sottopulsanti.
    Il pulsante dovrebbe aprire i 3 sottopulsanti non al click sul pulsante stesso ma al solo mouseOver.

    Tuttavia se vuoi che i 3 sottopulsanti siano visibili solo dopo aver caricato la sezione "gallerie" può essere necessaria una funzione all'interno di gallerie.swf che viene chiamata dal filmato principale contenitore e che rimuove gallerie.swf.
    Oppure, più semplicemente si potrebbe controllare tutto dal filmato contenitore principale rendendo invisibili i sottopulsanti fino a quando gallerie.swf è stata caricata.

    Insomma, come puoi capire c'è qualcosa che non và nella struttura del sito e bisognerebbe vedere il tutto ed eventualmente modificare la posizione in cui vengono chiamati gli .swf esterni delle gallerie.

    ciao

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.