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

    [FLASH 8] passare dati ad mc tramite xml

    Ari-salve a tutti

    Ho appena (faticosamente) risolto un problema con un mc che dovrebbe fungere da pulsante.

    questo mc (che chiameremo "link_1") è creato in modo da avere all'inizio un campo di testo ("url") che riporta un URL ("www.tuosito.com") ed a metà dell'animazione un altro campo di testo ("desc") che riporta la descrizione dell'URL ("il tuo sito").

    Ora viene il bello (o brutto, dipende da come vedete la cosa ) perchè vorrei fare in modo che un foglio XML passasse all'mc sia l'url, sia la sua descrizione ed il getUrl per raggiungere il sito...Qualcosa del tipo:

    codice:
    <link id="link_1" url="www.tuosito.com" desc="il tuo sito" geturl="http://www.tuosito.com"/>
    Così facendo potrei gestire più comodamente l'inserimento degli mc link semplicemente cambiando link id in modo sequenziale "2,3,4...etc" ed inserendo le varie informazioni tramite xml senza doverli modificare in flash uno per uno...

    L'unica cosa (e mica da poco) è che non so come gestire queste istruzioni in AS...
    ...Secondo voi è fattibile? se sì, come?

    Grazie in anticipo a tutti!



  2. #2
    certo che è fattibile...
    leggi i dati dall'xml e ti crei tanti clip quanti te ne servono con un ciclo for oppure + semplicemente li attacchi sullo stage dopo che hai creato un clip tipo....

    cmq se fai una ricerca nel forum trovi tante discussioni in merito....

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Ciao Crescenzo!

    Innanzitutto grazie per la risposta.

    Sì, ho visto che ci sono tante discussioni apparentemente riguardanti ciò che mi serve, l'unico problema è che essendo poco pratico di AS, ovviamente non so distinguere le discussioni che possono servirmi da quelle che invece non mi servono.
    Sapresti indicarmene una tu?
    Io ho tutto pronto: gli mc, i campi di testo dinamici istanziati...Mi serve "solo" sapere come strutturare l'xml e quale codice inserire sulla timeline a far da tramite fra le due cose.

    Grazie!

  4. #4
    beh l'xml lo strutturi a seconda delle var che ti servono anche come hai indicato tu
    cioè

    <link id="link_1" url="www.tuosito.com" desc="il tuo sito" geturl="http://www.tuosito.com"/>
    <link id="link_2" url="www.tuosit2.com" desc="il tuo sito" geturl="http://www.tuosit2.com"/>
    .......
    etc
    x la lettura del file xml...qua
    http://flash.html.it/guide/leggi/118/guida-flash-e-xml/

    fatti una lettura di quello ..poi se hai problemi ancora posta che li risolviamo...

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    Sei un grande Cresc...Provo a capirci qualcosa e ti faccio sapere...Volevo solo aggiungere che mi secca se può sembrare che voglio la famosa "pappa pronta"...ma non sono un flasher, non aspiro ad esserlo e dunque mi serve sapere queste cose non per rivendermele come professionalità ma per ottenere un risultato molto fine a se stesso (o meglio a me stesso, visto che si tratta del mio sito personale )
    Ci tenevo a specificarlo perchè se qualcuno venisse a chiedere certe cose in questa maniera riguardo l'ambito di mia competenza, mi seccherebbe un pò.

    A dopo per il riscontro e grazie!

  6. #6
    Ho provato a buttare giù questo codice, ma non succede niente...Dove sbaglio???
    Codice PHP:
    var u:String "links.xml";
    var 
    a:Array = new Array();
    var 
    p:XML = new XML();
    p.ignoreWhite true;
    p.onLoad = function(ok) {

        if (
    this.loaded) {

            var 
    temp:Array = this.firstChild.childNodes;
        
            for (var 
    i:Number 0i<temp.lengthi++) {
                
                
    a.push({id:temp[i].attributes.idurl:temp[i].firstChild.attributes.urldesc:temp[i].firstChild.attributes.descgeturl:temp[i].firstChild.attributes.geturl });
               
                if (
    i>=temp.length-1) {
                   
                    
    useArray(a);
                }
            }
        }
    };
    function 
    useArray(a:Array) {

        for (var 
    k:Number 0k<a.lengthk++) {
        
    _root[a[k].id].k;
        
    _root[a[k].id].onPress = function(){
            
    getURL(a[this.k].desca[this.k].geturl);
    }
    }
    }
    p.load(u); 
    E questo è links.xml...
    Codice PHP:
    <?xml version="1.0" encoding="utf-8"?>
    <links>
        <link id= "link_1" url="www.tuosito.com" desc="il tuo sito" geturl="![CDATA[ a href="http://www.tuosito.com">" </XMLCDATA>/>
        <link id= "link_2" url="www.tuosito.com" desc="il tuo sito" geturl="![CDATA[ a href="http://www.tuosito.com">" </XMLCDATA>/>
        <link id= "link_3" url="www.tuosito.com" desc="il tuo sito" geturl="![CDATA[ a href="http://www.tuosito.com">" </XMLCDATA>/>
        <link id= "link_4" url="www.tuosito.com" desc="il tuo sito" geturl="![CDATA[ a href="http://www.tuosito.com">" </XMLCDATA>/>
        <link id= "link_5" url="www.tuosito.com" desc="il tuo sito" geturl="![CDATA[ a href="http://www.tuosito.com">" </XMLCDATA>/>
        <link id= "link_6" url="www.tuosito.com" desc="il tuo sito" geturl="![CDATA[ a href="http://www.tuosito.com">" </XMLCDATA>/>
        <link id= "link_7" url="www.tuosito.com" desc="il tuo sito" geturl="![CDATA[ a href="http://www.tuosito.com">" </XMLCDATA>/>
    </links>
    Io ci ho provato...ma si vede che sò di legno, boh...Aiuto, aiuto aiuto.

  7. #7
    ora nn ho molto tempo ...ma riesci a leggere il file xml??

    metti un trace..

    if (this.loaded) {

    var temp:Array = this.firstChild.childNodes;
    trace(temp)
    for (var i:Number = 0; i<temp.length; i++) {
    ....

    e poi cosa si dovrebbe cliccare?! nn ho capito
    _root[a[k].id].onPress = function(){

    chi è _root[a[k].id].?? è un valore mica un clip...o forse manca qualche cod ...

    altrimenti va ti posso dare un es di flash ed xml che feci x un'altro utente....che chiaramente dovresti leggermente modificare x le tue esigenze.....

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  8. #8
    Originariamente inviato da crescenzo
    ora nn ho molto tempo ...ma riesci a leggere il file xml??

    metti un trace..

    if (this.loaded) {

    var temp:Array = this.firstChild.childNodes;
    trace(temp)
    for (var i:Number = 0; i<temp.length; i++) {
    ....

    e poi cosa si dovrebbe cliccare?! nn ho capito
    _root[a[k].id].onPress = function(){

    chi è _root[a[k].id].?? è un valore mica un clip...o forse manca qualche cod ...

    altrimenti va ti posso dare un es di flash ed xml che feci x un'altro utente....che chiaramente dovresti leggermente modificare x le tue esigenze.....

    Il trace in effetti me l'ero scordato, avevo preparato questo che tracciava le 4 variabili che mi servivano (id, url, desc e geturl):
    Codice PHP:
       for (var k:Number 0k<a.lengthk++) {
            
    trace("id: "+a[k].id);
            
    trace("url: "+a[k].url);
            
    trace("desc: "+a[k].desc);
            
    trace("geturl: "+a[k].geturl);//anche se però geturl non è una variabile ma un nome istanza del pulsante che dovrebbe portare al sito una volta cliccato...//
            
    trace("______________________");
        }
    }
    p.load(u); 
    _root[a[k].id] voleva essere un codice per l'array "a" che a seconda dell'id caricasse il geturl corrispondente da far funzionare al click...ma evidentemente flash non la vede come me (risata isterica )

    Saresti gentilissimo a darmi un esempio, non so se riuscirò a cavarne qualcosa, ma se mi dici che modificandolo un pò potrei adattarlo a ciò che mi serve potrei provarci...e ti ringrazierei infinitamente...

  9. #9
    appena lo ritrovo lo metto su di un serve x fartelo scaricare intanto velocemente allora
    il file xml
    Codice PHP:
    <?xml version="1.0" encoding="UTF-8" ?>
    <links>
        <link id="Reservoir Dogs" miourl="www.tuosito.com" desc="il tuo sito"/>
        <link id="Fight Club" miourl="www.tuosito.com" desc="il tuo sito"/>
        <link id="Duel" miourl="www.tuosito.com" desc="il tuo sito"/>
        <link id="Blow Out" miourl="www.tuosito.com" desc="il tuo sito"/>
        <link id="The Birds" miourl="www.tuosito.com" desc="il tuo sito"/>
        <link id="The Thing" miourl="www.tuosito.com" desc="il tuo sito"/>
        <link id="Misery" miourl="www.tuosito.com" desc="il tuo sito"/>
        <link id="Psycho" miourl="www.tuosito.com" desc="il tuo sito"/>
    </links>
    in flash x leggere questi dati
    Codice PHP:
    id = new Array();
    miourl = new Array();
    desc = new Array();
    mio_xml = new XML();
    mio_xml.ignoreWhite true;
    mio_xml.onLoad = function(success)
    {
        if(
    success){
            
            var 
    nodes this.firstChild.childNodes;
            
            for(var 
    0nodes.lengthi++){
                
    id.push(nodes[i].attributes.id)
                
    miourl.push(nodes[i].attributes.miourl)
                
    desc.push(nodes[i].attributes.desc)
            
                }
            
            
    //trace(nodes);
            
    trace(id)
            
    trace(miourl)
            
    trace(desc)
        } else {
            
    testo "caricamento errato";
        }
    };
    mio_xml.load("file3.xml"); 
    cosi li lleggi e li metti negli array poi ti conviene fare una funzione che attacca sullo stage i clip con il link associato

    quindi creati un clip e una funzione con un ciclo for ed usando attachmovie attacchi i clip sullo stage dove vuoi

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  10. #10
    Grazie Cresc!
    Allora, ho provato il tutto e chiaramente viene visualizzato nella finestra di output... la parte che non capisco è questa:

    Originariamente inviato da crescenzo
    cosi li lleggi e li metti negli array poi ti conviene fare una funzione che attacca sullo stage i clip con il link associato

    quindi creati un clip e una funzione con un ciclo for ed usando attachmovie attacchi i clip sullo stage dove vuoi

    In pratica io ho un mc che dovrebbe ripetersi per 7 volte (tanti sono i links)...Al suo interno ha le var che ti dicevo prima ("url", "desc" "geturl"...anche se come ripeto, quest'ultima non è una vera e propria var ma un'istanza del pulsante che "copre" l'mc)...Io li ho già messi tutti e sette sullo stage istanziandoli in maniera sequenziale...link1, link2 etc...Non esiste un modo diverso dall'attaccare i clip?

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.