Visualizzazione dei risultati da 1 a 5 su 5

Discussione: menu xml e flash

  1. #1

    menu xml e flash

    Salve a tutti, ho un problema banale mą al quale non riesco a tovare la soluzione, anche perchč mi sono avvicinato da poco a flash.
    Allora, supponiamo di avere un file pippo.swf all'interno del quale si trova un menł a tendina che carica i dati da un file xml, (che ho trovato su di un tutorial),
    cosa devo scrivere per fare in modo che il cliccando sul primo pulsante non vada sul sito html.it, mą mi sposti all'interno dei fotogrammi di pippo.swf?
    Vi riporto la parte iniziale del codice xml che riguarda il primo menł a tendina e relativi sottomenł.

    <MENU1>ACTIONSCRIPT</MENU1>
    <voce1 tipo="url" percorso="http://flash-mx.html.it/index.asp">FLASH-MX</voce1>
    <voce1 tipo="swf" percorso="prova.swf" livello="2">ELABORAZIONI</voce1>
    <voce1 tipo="swf" percorso="prova.swf" livello="1">DOWNLOAD</voce1>
    <voce1 >CONTATTI</voce1>


    Un grazie a tutti coloro che mi saranno di aiuto.

  2. #2
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Nn sapendo com'č strutturato il tutto nn possiamo esserti molto d'aiuto...

    A me (da quel poco XML che hai scritto) sembra che il menł carica le URL e degli swf esterni...

    quando il valore "tipo" č uguale a swf lui carica dei filmati esterni...

    quindi puoi mettere le action nei filmati esterni caricati (molto scomodo) oppure ci mandi il codice ActionScript per vedere se c'č modo di modificare qualche riga

  3. #3
    Grazie x l'interessamento.

    ti invio una parte del codice xml (il tutorial l' ho trovato da www.enricolai.com)

    __________________________________________________ __________________________
    <MENU1>ACTIONSCRIPT</MENU1>
    <voce1 tipo="url" percorso="http://flash-mx.html.it/index.asp">FLASH-MX</voce1>
    <voce1 tipo="swf" percorso="prova.swf" livello="2">ELABORAZIONI</voce1>
    <voce1 tipo="swf" percorso="prova.swf" livello="1">DOWNLOAD</voce1>
    <voce1 >CONTATTI</voce1>
    <sottovoce1_4 tipo="swf" percorso="prova.swf" livello="2">SILVIA</sottovoce1_4>
    <sottovoce1_4 tipo="swf" percorso="prova.swf" livello="1">CHIARA</sottovoce1_4>
    <sottovoce1_4 tipo="url" percorso="http://www.enricolai.com">ERICA</sottovoce1_4>
    <sottovoce1_4 tipo="url" percorso="http://www.macromedia.com">MACROMEDIA</sottovoce1_4>
    <sottovoce1_4 tipo="url" percorso="http://www.actionscript.org">ACTIONSCRIPT</sottovoce1_4>
    <voce1>MACROMEDIA</voce1>
    <sottovoce1_5 tipo="url" percorso="http://www.pickwick.it">CARTOON</sottovoce1_5>
    <sottovoce1_5 tipo="swf" percorso="prova.swf" livello="2">LAYOUT</sottovoce1_5>
    <sottovoce1_5 tipo="swf" percorso="prova.swf" livello="1">VIDEO</sottovoce1_5>
    <sottovoce1_5 tipo="url" percorso="http://www.enricolai.com">FOTO</sottovoce1_5>
    <sottovoce1_5 tipo="url" percorso="http://www.macromedia.com">LICENZE</sottovoce1_5>
    <sottovoce1_5 tipo="url" percorso="http://www.actionscript.org">ACTIONSCRIPT</sottovoce1_5>
    <sottovoce1_5 tipo="url" percorso="http://www.macromedia.com">EFFETTI</sottovoce1_5>
    <voce1 tipo="url" percorso="http://www.actionscript.org">ACTIONSCRIPT</voce1>
    __________________________________________________ ___________________________

    e lo cript all'interno del flash:

    __________________________________________________ ___________________________

    /****************************************

    ENRICO LAI © 2002
    HTTP://WWW.ENRICOLAI.COM

    **************************************/


    ApriXML();

    function ApriXML () {
    mioxml = new XML();
    mioxml.load('menu.xml');
    //mioxml.load(filexml);
    mioxml.onLoad = ParseXML;
    function ParseXML (success) {

    if (success) {


    vocimenu = new Array();

    // metto il file XML dentro un array.
    vocimenu = mioxml.childNodes;
    //trace(vocimenu);
    //variabili per per la costruzione dei nomi e il posizionamento dei moviclip e per l'strazione
    //dei nomi dei nodi del file XML
    s=0;
    k=0;
    g=0;


    for (i=0; i<=vocimenu.length; i++){
    //il primo menu nel file xml si chiama "MENU1"
    nomeNodo="MENU" add (g+1);
    if(vocimenu[i].nodeName==nomeNodo){
    g++;
    _root.attachMovie("MenuPrincipale","nuovo" add g ,i);
    _root["nuovo" add g ]._x=posX + (120*(g-1));
    _root["nuovo" add g ]._y=posY;
    _root["nuovo" add g ].testo.voce=vocimenu[i].childNodes.toString().toUpperCase();
    _root["nuovo" add g ].g=g;
    _root["nuovo" add g ].sopraVoci=true;
    //quando sono stati stampati tutte le voci e le sottovoci del "MENU"+g, k viene azzerato
    k=0;
    }else{
    //nel file XML i sottomenu si chiamano "voce"+ il numero del menu principale(g)
    nomeNodo="voce" add g;
    if (vocimenu[i].nodeName==nomeNodo){
    //serve per la costruzione del nome dei sottomenu e per il loro posizionamento
    k++;
    nomeMovieClip="nuovo" add g add "_" add k;

    _root.contenitore.duplicateMovieClip(nomeNodo, i)
    _root[nomeNodo].attachMovie("pmenu", nomeMovieClip,(i+1));
    _root[nomeNodo]._x=posX + 120*(g-1);
    _root[nomeNodo]._y=posY + 35;
    _root[nomeNodo]._visible=false;
    nodo=_root[nomeNodo][nomeMovieClip];
    nodo._x=0;
    nodo._y= 12*(k-1);
    nodo.testo.voce=vocimenu[i].childNodes.toString().toUpperCase();
    nodo.tipo=vocimenu[i].attributes.tipo;
    nodo.livello=vocimenu[i].attributes.livello;
    nodo.percorso=vocimenu[i].attributes.percorso;
    nodo.g= g ;
    nodo.sopraSottomenu=false;
    nodo.sopraVoci=true;
    nodo.k=k;

    //nel file xml i sotto-sottomenu sono chiamati "sottovoce"+ il numero del nenu principale(g) +"_" + il numero del menu secondario(k)
    nomeSottovoce="sottovoce" add g add "_" add k;
    s=0;
    }else if(vocimenu[i].nodeName==nomeSottovoce) {
    s++
    nomeMovieClip="nuovo" add g add "_" add k add "_" add s;

    _root.contenitore.duplicateMovieClip(nomeSottovoce , (i+1))
    _root[nomeSottovoce].attachMovie("pmenu", nomeMovieClip ,i);
    _root[nomeSottovoce]._x=posX + 120*(g);
    _root[nomeSottovoce]._y=posY + 35+ 12*(k-1);
    _root[nomeSottovoce]._visible=false;
    nodo=_root[nomeSottovoce][nomeMovieClip];
    nodo._x=0;
    nodo._y=12*(s-1);
    nodo._visible=true;
    nodo.testo.voce=vocimenu[i].childNodes.toString().toUpperCase();
    nodo.tipo=vocimenu[i].attributes.tipo;
    nodo.livello=vocimenu[i].attributes.livello;
    nodo.percorso=vocimenu[i].attributes.percorso;
    nodo.g = g;
    nodo.k = k;
    nodo.sopraVoci = true;
    nodo.sopraSottomenu = true;

    }

    }

    }
    loading.gotoAndStop(2);
    }
    }
    }

    __________________________________________________ __________________________

    ora se clicco su i pulsanti ovviamente mi raggiunge l'url oppure mi carica il filmato esterno prova.swf.
    io vorrei che si spostasse solo all'interno del filmato principale.

    Grazie di nuovo

  4. #4
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    aiuto...sarebbe meglio se i codici AS li chiudi tra i tag PHP la prossima volta perchč cosģ nn si capisce nulla!

    + tardi do una lettura al codice e ti dico!

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Originariamente inviato da gattommiao
    Grazie x l'interessamento.

    ti invio una parte del codice xml (il tutorial l' ho trovato da www.enricolai.com)
    codice:
    <MENU1>ACTIONSCRIPT</MENU1>
        <voce1 tipo="url" percorso="http://flash-mx.html.it/index.asp">FLASH-MX</voce1>
        <voce1 tipo="swf" percorso="prova.swf" livello="2">ELABORAZIONI</voce1>
        <voce1 tipo="swf" percorso="prova.swf" livello="1">DOWNLOAD</voce1>
        <voce1 >CONTATTI</voce1>
             <sottovoce1_4 tipo="swf" percorso="prova.swf" livello="2">SILVIA</sottovoce1_4>
             <sottovoce1_4 tipo="swf" percorso="prova.swf" livello="1">CHIARA</sottovoce1_4>
             <sottovoce1_4 tipo="url" percorso="http://www.enricolai.com">ERICA</sottovoce1_4>
             <sottovoce1_4 tipo="url" percorso="http://www.macromedia.com">MACROMEDIA</sottovoce1_4>
             <sottovoce1_4 tipo="url" percorso="http://www.actionscript.org">ACTIONSCRIPT</sottovoce1_4>
        <voce1>MACROMEDIA</voce1>
    		 <sottovoce1_5 tipo="url" percorso="http://www.pickwick.it">CARTOON</sottovoce1_5>
             <sottovoce1_5 tipo="swf" percorso="prova.swf" livello="2">LAYOUT</sottovoce1_5>
             <sottovoce1_5 tipo="swf" percorso="prova.swf" livello="1">VIDEO</sottovoce1_5>
             <sottovoce1_5 tipo="url" percorso="http://www.enricolai.com">FOTO</sottovoce1_5>
             <sottovoce1_5 tipo="url" percorso="http://www.macromedia.com">LICENZE</sottovoce1_5>
             <sottovoce1_5 tipo="url" percorso="http://www.actionscript.org">ACTIONSCRIPT</sottovoce1_5>
             <sottovoce1_5 tipo="url" percorso="http://www.macromedia.com">EFFETTI</sottovoce1_5>
        <voce1 tipo="url" percorso="http://www.actionscript.org">ACTIONSCRIPT</voce1>
    e lo cript all'interno del flash:

    Codice PHP:

    /****************************************

    ENRICO LAI © 2002
    [url]HTTP://WWW.ENRICOLAI.COM[/url]

    **************************************/


    ApriXML();

    function 
    ApriXML () {
        
    mioxml = new XML();
        
    mioxml.load('menu.xml');
        
    //mioxml.load(filexml);
        
    mioxml.onLoad ParseXML;
        function 
    ParseXML (success) {
            
            if (
    success) {
                        
                
                
    vocimenu = new Array();
                
        
    // metto il file XML dentro un array. 
                
    vocimenu mioxml.childNodes;
                
    //trace(vocimenu);
                        //variabili per per la costruzione dei nomi e il posizionamento dei moviclip e per l'strazione 
                        //dei nomi dei nodi del file XML 
                        
    s=0;
                        
    k=0;
                        
    g=0;

                            
                        for (
    i=0i<=vocimenu.lengthi++){
                           
    //il primo menu nel file xml si chiama "MENU1"
                           
    nomeNodo="MENU" add (g+1);
                        if(
    vocimenu[i].nodeName==nomeNodo){
                           
    g++;
                          
    _root.attachMovie("MenuPrincipale","nuovo" add g ,i);
                          
    _root["nuovo" add g ]._x=posX + (120*(g-1));
                          
    _root["nuovo" add g ]._y=posY;
                          
    _root["nuovo" add g ].testo.voce=vocimenu[i].childNodes.toString().toUpperCase();
                          
    _root["nuovo" add g ].g=g;
                          
    _root["nuovo" add g ].sopraVoci=true;
                          
    //quando sono stati stampati tutte le voci e le sottovoci del "MENU"+g,  k viene azzerato
                          
    k=0;
                          }else{
                            
    //nel file XML i sottomenu si chiamano "voce"+ il numero del menu principale(g)
                            
    nomeNodo="voce" add g;
                            if (
    vocimenu[i].nodeName==nomeNodo){
                            
    //serve per la costruzione del nome dei sottomenu e per il loro posizionamento
                            
    k++;
                            
    nomeMovieClip="nuovo" add g add "_" add k;
                 
                            
    _root.contenitore.duplicateMovieClip(nomeNodoi)
                            
    _root[nomeNodo].attachMovie("pmenu"nomeMovieClip,(i+1));
                            
    _root[nomeNodo]._x=posX 120*(g-1);
                            
    _root[nomeNodo]._y=posY 35;
                            
    _root[nomeNodo]._visible=false;
                            
    nodo=_root[nomeNodo][nomeMovieClip];
                            
    nodo._x=0;
                            
    nodo._y12*(k-1);
                            
    nodo.testo.voce=vocimenu[i].childNodes.toString().toUpperCase();
                            
    nodo.tipo=vocimenu[i].attributes.tipo;
                            
    nodo.livello=vocimenu[i].attributes.livello;
                            
    nodo.percorso=vocimenu[i].attributes.percorso;
                            
    nodo.g;
                            
    nodo.sopraSottomenu=false;
                            
    nodo.sopraVoci=true;
                            
    nodo.k=k;
                            
                            
    //nel file xml i sotto-sottomenu sono chiamati "sottovoce"+ il numero del nenu principale(g) +"_" + il numero del menu secondario(k)
                            
    nomeSottovoce="sottovoce" add g add "_" add k;
                            
    s=0;
                            }else if(
    vocimenu[i].nodeName==nomeSottovoce) {
                            
    s++
                            
    nomeMovieClip="nuovo" add g add "_" add k add "_" add s;
                            
                            
    _root.contenitore.duplicateMovieClip(nomeSottovoce, (i+1))
                            
    _root[nomeSottovoce].attachMovie("pmenu"nomeMovieClip ,i);
                            
    _root[nomeSottovoce]._x=posX 120*(g);
                            
    _root[nomeSottovoce]._y=posY 3512*(k-1);
                            
    _root[nomeSottovoce]._visible=false;
                            
    nodo=_root[nomeSottovoce][nomeMovieClip];
                            
    nodo._x=0;
                            
    nodo._y=12*(s-1);
                            
    nodo._visible=true;
                            
    nodo.testo.voce=vocimenu[i].childNodes.toString().toUpperCase();
                            
    nodo.tipo=vocimenu[i].attributes.tipo;
                            
    nodo.livello=vocimenu[i].attributes.livello;
                            
    nodo.percorso=vocimenu[i].attributes.percorso;
                            
    nodo.g;
                            
    nodo.k;
                            
    nodo.sopraVoci true;
                            
    nodo.sopraSottomenu true;
                            
                            }
                            
                          } 
                            
                        }
                      
    loading.gotoAndStop(2);
                    }
                }
           } 
    ora se clicco su i pulsanti ovviamente mi raggiunge l'url oppure mi carica il filmato esterno prova.swf.
    io vorrei che si spostasse solo all'interno del filmato principale.

    Grazie di nuovo
    Mmmm visto cosģ mi sembra che il tutto sia strutturato per caricamenti ecc...forse inserendo un'altro valore per tipo (es: "interno") possiamo cambiare le AS...asp ora controllo...forse sarebbe meglio se mi mandassi il FLA ti mando un pm con la mail


    ps:Ho quotato tutto il codice mettendolo tra i tag perchč se no nn si leggeva nulla!

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.