Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    azioni durante il caricamento

    Voglio fare una funzione che carica un menu su un target e CONTEMPORANEAMENTE fa andare una voce di tale menu al frame 2.

    Il problema è che il tutto funziona se faccio la cosa in 2 tempi, cioè PRIMA carico il menu e DOPO, ad esempio con MouseDown, faccio andare la voce al frame 2:

    loadMovie("menu.swf",target)
    onClipEvent(MouseDown){
    target.voce.gotoAndStop(2)
    }


    Se però faccio tutto all'interno della stessa funzione, cioè in sintesi
    loadMovie("menu.swf",target)
    target.voce.gotoAndStop(2)

    ...non funziona!!!

    E' NORMALE CHE NON SI POSSA DARE IL COMANDO NEL MOMENTO DEL CARICAMENTO OPPURE HO SBAGLIATO QUALCOSA???????

  2. #2
    Utente di HTML.it L'avatar di §elva
    Registrato dal
    Nov 2006
    Messaggi
    607
    è normale, perchè richiami il metodo "gotoAndStop" quando il filmato non è ancora stato caricato del tutto..

    potresti risolvere il tutto caricando il filmato tramite la classe MovieCLipLoader, invece di utilizzare il metodo "loadMovie"..

    codice:
    var loader:MovieClipLoader = new MovieClipLoader();//istanzo la classe MovieClipLoader
    var listener:Object = new Object(); //creo un oggetto listener
    listener.onLoadInit = function(MC):Void  { //gestisco l'evento del caricamento completo con una funzione che mi manda il menu al frame 2
    	MC.voce.gotoAndStop(2);
    };
    loader.loadClip("menu.swf",target); //carico il movie clip, utilizzato al posto di loadMovie
    ti consiglio di aproffondire l'utilizzo della classe MovieClipLoader che ti può ritornare molto utile in futuro

    da sempre l'ignoranza fa paura, ma il silenzio è uguale a morte

  3. #3
    Grazie adesso provo con MovieClipLoader...

    Ti chiedo solo un altro chiarimento per capire bene: il problema è che non si può usare gotoAndStop perché implica un movimento lungo la linea temporale di un mc non ancora del tutto caricato (anche se di fatto il caricamento è istantaneo)?

    Perché ho visto che invece altri comandi funzionano, ad esempio mentre questo come dicevo prima non funziona:

    loadMovie("menu.swf",target)
    target.voce.gotoAndStop(2)

    questo invece funziona:

    loadMovie("menu.swf",target)
    target.voce._x=100 //impongo uno spostamento a dx di 100 giusto come esperimento

  4. #4
    Scusa temo di aver detto una ca...ata...in effetti funziona se impongo lo spostamento del target [target._x=100] ma non se impongo lo spostamento dell'mc caricato al suo interno!!!

    Ma torniamo a movieClipLoader:
    Dove devo mettere il codice che dicevi??

    Le varie dichiarazioni con = vanno sul 1° frame della _root e lo script finale
    loader.loadClip("menu.swf",target)
    sarebbe quello che devo usare all'interno della funzione (che è sempre nel 1° frame della _root) al posto di loadMovie?

  5. #5
    ufff...ovviamente non mi funziona


    allora, se il mio target si chiama appunto "target", il clip da caricare al suo interno si chiama "menu.swf" e la variabile che deve andare al frame 2 si chiama "pagina" io ho:

    sulla _root:

    var loader:MovieClipLoader = new MovieClipLoader();
    var listener:Object = new Object();


    e poi la funzione richiamata da un certo oggetto che passa la variabile pagina

    function apriPagina (pagina) {
    listener.onLoadInit = function(target):Void //e questo è il rigo che mi è meno chiaro...{
    target[pagina].gotoAndStop(2);
    }
    loader.loadClip("menu.swf",target);
    }

  6. #6
    Utente di HTML.it L'avatar di §elva
    Registrato dal
    Nov 2006
    Messaggi
    607
    spiegami una cosa..
    "pagina" è una variabile che contiene il nome di un movieCLip?..
    comunque vedo che ci sono degli errori sul codice..
    e quando l'swf viene caricato.. qual è il movieCLip che deve andare al frame 2? mi serve il nome istanza..
    da sempre l'ignoranza fa paura, ma il silenzio è uguale a morte

  7. #7
    Si "pagina" è una variabile.....in pratica il tutto funziona così:

    sullo stage ho degli oggetti, ognuno col suo nome istanza che corrisponde al nome di una pagina del menu che verrà caricato (menu.swf)

    Cliccando su un oggetto a piacere carico il menu sul mio target.
    Il menu caricato è sempre lo stesso, indipendentemente dall'oggetto su cui clicco....però quando il menu si apre la voce corrispondente all'oggetto cliccato deve andare al frame 2.

    "pagina" è appunto la variabile che individua l'oggetto cliccato (tramite la sua proprietà _name) e la corrispondente voce del menu che deve andare al frame 2.

  8. #8
    Il nome istanza dell'mc che deve andare al frame 2 è appunto la variabile che io chiamo "pagina".....alla quale viene assegnato il valore _name dell'oggetto cliccato.

    Spero sia chiaro...se servono altre info chiedi pure!!!

  9. #9
    Utente di HTML.it L'avatar di §elva
    Registrato dal
    Nov 2006
    Messaggi
    607
    ok, ora è tutto chiaro
    ecco il codice che va nel frame della timeline principale:
    codice:
    var loader:MovieClipLoader = new MovieClipLoader();
    var listener:Object = new Object(); 
    listener.onLoadInit = function(target):Void  {
    	target[_root.pagina].gotoAndStop(2);
    };
    loader.addlistener(listener);
    poi ai vari pulsanti assegni questo codice:
    codice:
    nomeIstanzaPulsante.onPress=function():Void{
               _root.pagina=this._name;
              _root.loader.loadClip("menu.swf",target);
    }
    può andare?


    [EDIT]: AVEVO DIMENTICATO QUESTA RIGA DI CODICE: loader.addlistener(listener);
    sorry
    da sempre l'ignoranza fa paura, ma il silenzio è uguale a morte

  10. #10
    grazie 1000, appena arrivo a casa provo.....ma guardando il codice che hai scritto non mi è chiara una cosa:

    assegnare ai pulsanti questo:

    nomeIstanzaPulsante.onPress=function():Void{ ecc....

    è lo stesso che:

    on (Press) {
    function():Void{ ecc....

    o non c'entra niente?? Chiedo perché quella che scrivi tu è una sintassi che non ho mai visto e non mi è chiaro cosa significhi...

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.