Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Swf con XML all'avvio

  1. #1
    Utente di HTML.it L'avatar di N3llo
    Registrato dal
    Apr 2007
    Messaggi
    79

    Swf con XML all'avvio

    Salve,
    Ho da carcare un swf esterno all'avvio,ho sempre usato:

    _root.load.loadMovie("nome.swf");

    Dove load è un movieclip vuoto.

    Ora ho un swf che è uno slideshow che usa xml come collegamento alle foto e quando uso questa istruzione non mi carca nulla,almeno cosi mi sembra.Come mai?

  2. #2
    ciao, io ho fatto qualcosa di simile a cio' che vuoi fare tu: una serie di slide suddivise per capitoli, inserite in un XML, che vengono richiamate all'interno di una movieclip vuota usata solo come "segnaposto"

    inizialmente vanno date le istruzioni di creazione e caricamento di un array contenente le slide (ho creato una scena a parte chiamata CaricaXML, vuota con solo queste azioni):

    var NumCapitolo = new int;
    var NumCapitoliTot = new int;
    NumCapitolo = 0;
    NumSlide = 0;
    NumCapitoliTot = 0;

    /* Lettura File XML Configurazione SLIDE */
    function ApriXML() {
    mioxml = new XML();
    mioxml.ignoreWhite = true;

    // carica XML
    mioxml.load("slides.xml");

    // effettuato il caricamento del file xml
    // chiama la funzione ElaboraXML
    mioxml.onLoad = ElaboraXML;


    function ElaboraXML(success) {
    if (mioxml.loaded) {

    //se il file xml è stato caricato, crea un nuovo array
    ArrayCapitoli = new Array();
    // carica i nodi (capitoli) dell'XML nell'array
    ArrayCapitoli = mioxml.childNodes;
    // conta il numero di nodi (capitoli) dell'array
    NumCapitoliTot = ArrayCapitoli.length;

    gotoAndPlay("layout", 1);
    }
    }
    }

    // chiamata alla funzione
    ApriXML();

    stop();






    poi in una seconda scena, dove sono presenti dei bottoni per avanzare e indietreggiare tra le slide, ho messo questo codice:

    /* Variabili inizializzate nella prima scena */

    NumCapitolo = _root.NumCapitolo;
    NumSlide = _root.NumSlide;
    NumCapitoliTot = _root.NumCapitoliTot;
    ArrayCapitoli = _root.ArrayCapitoli;
    SlidePerCapitolo = new int;



    LoadNextMovie();

    // Carico il filmato nella movie clip
    function LoadNextMovie()
    {
    //trace("loadNM");
    // ricavo il numero di slide presenti nel capitolo corrente
    SlidePerCapitolo = ArrayCapitoli[NumCapitolo].childNodes.length;
    //carico la slide con indice capitolo e indice slide, indicando il percorso
    clpSlide.loadMovie(ArrayCapitoli[NumCapitolo].childNodes[NumSlide].attributes["percorso"]);
    _root.rootCornice.Ncapitolo.text = NumCapitolo + 1 + "/" + NumCapitoliTot;
    _root.rootCornice.Nslide.text = NumSlide + 1 + "/" + SlidePerCapitolo;
    //_root.rootCornice.SlidePerCap.text = "/" + SlidePerCapitolo;
    //trace (_root.rootCornice.Nslide.text);
    }


    // Azioni bottone AVANTI
    this.btnAvanti.onRelease = function()
    {
    // Controllo se la slide corrente è l'ultima del capitolo
    if (NumSlide == SlidePerCapitolo - 1){
    // Se è l'ultima del capitolo passo al capitolo successivo
    //e azzero il numero della slide

    // Controllo se la slide corrente è l'ultima del corso
    if (NumCapitolo != NumCapitoliTot - 1){
    // se non è l'ultima incremento di 1 il numero capitolo
    // passando a quello successivo
    NumCapitolo++;
    // azzero il numero della slide
    NumSlide = 0;
    // Richiamo la funzione che carica la slide
    LoadNextMovie();
    }
    }
    // se la slide non è l'ultima del capitolo, passa alla successiva slide
    // mantenendo fisso il capitolo
    else{
    // incrementa di 1 il numero della slide da caricare
    NumSlide++;
    // Richiamo la funzione
    LoadNextMovie();
    }
    }

    // Azioni bottone INDIETRO
    this.btnIndietro.onRelease = function()
    {
    // Controllo se la slide corrente è la prima del capitolo
    if (NumSlide == 0){
    // Se è la prima del capitolo passa all'ultima slide del
    // capitolo precedente

    // Controllo se la slide corrente è la prima del corso
    if (NumCapitolo != 0){
    // se la slide non è la prima del corso, passa a quella precedente
    NumCapitolo--;
    // Aggiorno il numero di slide del capitolo precedente
    SlidePerCapitolo = ArrayCapitoli[NumCapitolo].childNodes.length;
    NumSlide = SlidePerCapitolo - 1;
    // Richiamo la funzione
    LoadNextMovie();
    }
    }
    // se la slide non è la prima del capitolo, passa alla slide precedente,
    // mantenendo fisso il numero del capitolo
    else{
    // decrementa di 1 il numero della slide
    NumSlide--;
    // Richiamo la funzione
    LoadNextMovie();
    }
    }


    ciao

  3. #3
    Utente di HTML.it L'avatar di N3llo
    Registrato dal
    Apr 2007
    Messaggi
    79
    GRazie Fra ma forse non mi sono spiegato.

    Lo slideshow l'ho creato(Grazie a Julius),ed ottengo un filw slide.swf che funziona perfettamente.

    Ora vogli caricare nella mia Home questo slideshow,creo un movieclip di caricamento chiamato load e scrivo:

    _root.load.loadMovie("slide.swf");

    Solo che non succede nulla... il file swf di home è bianco

  4. #4
    Originariamente inviato da N3llo
    GRazie Fra ma forse non mi sono spiegato.

    Lo slideshow l'ho creato(Grazie a Julius),ed ottengo un filw slide.swf che funziona perfettamente.

    Ora vogli caricare nella mia Home questo slideshow,creo un movieclip di caricamento chiamato load e scrivo:

    _root.load.loadMovie("slide.swf");

    Solo che non succede nulla... il file swf di home è bianco
    non usare nome di istanza per clip uguali a funziona coem load

    al posto di load io chiamo il clip mc_mc_load

    ecco il codice da usare

    codice:
    loadMovie("slide.swf","_root.mc_load");
    _root.mc_load._lockroot=true;
    maggiori informazioni su _lockroot

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.