Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    28

    script per caricamento swf in preload

    Ciao a tutti,
    ho un problema che mi sta facendo diventare matto anche sono sicuro che
    sia una stupidata per voi esperti!

    Ho un swf principale che carica degli swf secondari esterni relativi alle pagine interne del sito. Quindi,in index.swf ho il menu che carica pagina1.swf, pagina2.swf, pagina3.swf, pagina4.swf, pagina5.swf con il seguente script:

    loadMovieNum("pagina1.swf", 0);

    Ora arriva il problema:
    ho dovuto, per una serie infinita di problemi, caricare gli swf esetrni (pagina1, pagina2 etc..) sul livello 0. Cosi facendo al click del pulsante situato all'interno dell'swf principale index.swf questo viene sostituito da pagina1.swf.

    Mi starebbe anche bene, ma succede che online fin quando pagina1.swf non è in cache si vede un lampo brutto a vedersi.

    Esiste uno script da inserire nel primo frame del filmato principale che mi faccia caricare "sottobanco" gli swf delle pagine interne in modo tale da evitare detto problema?
    Il filmato principale vorrei che partisse solo dopo aver caricato tutti gli swf esterni...

    Vi ringrazio tutti in anticipo

  2. #2
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Ciao,

    il caricamento in _level0 non è nulla di speciale né di utile, anzi, ti crea i problemi della scomparsa di ciò sta nell'swf principale.
    Puoi fare il caricamento nel _leve1, o superiore, perché il risultato è medesimo senza che però ti scompaia nulla. Il nuovo contenuto si carica in trasparenza, nel senso che tutto ciò che sta nel _level0 resta attivo e visibile. Devi solo fare in modo che non avvengano sovrapposizioni indesiderate. In quanto alle coordinate, basta che ogni swf esterno abbia le misure stage uguali a quelle del file principale (dove metterai la grafica nel file esterno... ... lì stesso (identiche coordinate) lo vedrai quando sarà caricato.
    Nel _level1, o superiore, succede la stessa prassi: al caricamento de prossimo swf quest'ultimo sostituisce quello che era stato caricato in precedenza (chiodo scaccia chiodo").

    Per far sì che tu non veda "lampi" occorre un preloader per ogni swf che carichi esternamente. In tal modo vedrai il preloader, non "il vuoto" iniziale.
    Anhe se tu caricassi TUTTI i file esterni fin da subito, avresti un nuovo problema: il caricamento totale si accumulerebbe e diventerebbe molto lungo. Quindi ti consiglio, come già detto, un preloader per ognuno degli swf esterni.

    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    28
    E' proprio questo il mio problema! Vorrei che al menù del filmato principale si sostituisse quello dell'swf caricato succesivamente.

    Se uso _leve1, è attivo ancora il menu dell'swf che sta sotto e questo mi porta problemi. Perciò ricorro a _leve0. Per far scomparire detto menu e rendere usabile quello del nuovo swf caricato.

    Ho provato ad inserire nell'swf caricato sopra un quadrato a coprire quello che sta sotto (ho un fondo bianco piatto) ma le funzionalità dei pulsanti del menu principale restano attive.

    Come posso fare??...help!

    Per questo avevo pensato alla storia del preload e del _leve0...tanto tutti i 6 swf pesano in totale 250kb!...I tempi di caricamento sarebbero minimi...

    A I U T O....sto impazzendo!

  4. #4
    Utente di HTML.it L'avatar di NAP
    Registrato dal
    Jan 2001
    Messaggi
    4,398
    Lasciami dire che, se il menu che carichi è una copia di quello che hai in level0, allora pare che il problema vada a creartelo da solo. Se invece quello che carichi è un altro menu, che fa altre cose, allora ti chiedo scusa per l'ipotesi.
    Ora, se il problema sta nel fatto che tu desideri caricare il nuovo menu in una "zona" in cui non c'è nulla, non capisco perché tu non abbia spostato il tutto, tramite un gotoAndPlay, nel keyFrame successivo (vuoto e stoppato), luogo in cui ciò che c'era prima non esisterà più. Nel caso tu avessi allungato il layer del menu per far sì che il menu del level0 sia visibile, supponiamo, fino al frame n° 200, le cose non cambiano poiché:

    - nel frame della _root (il _level0) in cui c'è il menu, ci metti un pulsante che ti porta al frame 201:
    codice:
    nome_pulsante.onRelease = function () {
    gotoAndStop (201); // se il frame 201 è gia stoppato, allora basterà: gotoAndPlay
    }
    - il frame n° 201 è il luogo in cui ci sarà:
    codice:
    loadMovieNum("pagina1.swf", 1);
    Tuttavia, nel caso tu volessi insistere, nel senso che volessi fare tutto in un solo frame, c'è un altro rimedio:
    - nel file esterno ci metti la "benda" (come hai descritto) e, al suo primo frame associ:

    codice:
    _level0.nome_pulsante1.enabled = false;
    _level0.nome_pulsante2.enabled = false;
    _level0.nome_pulsante3.enabled = false;
    //......
    //......
    //......
    _level0.nome_pulsante50.enabled = false;
    Nel caso in cui il menu si trovi in un movieclip, allora sarà sufficiente:

    codice:
    _level0.nome_mc_menu._visible = false;
    A volte la diplomazia va condita con un pizzico di siluri fotonici. (K. Janeway)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    28
    GRANDE NAP!!!....ho risolto con il gotoAndStop e loadMovieNum sull'altro frame!!

    Grazie tante per l'aiuto!

    ps. ovviamete i menu sono diversi...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.