Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    265

    assegnare links a mc tramite xml

    Ciao a tutti,
    premetto che ho appena fatto una ricerca qui sul forum ma ho trovato solo un altro post + o meno simile al mio ma che non aveva ricevutor risposta.

    Quindi devo per forza stressarvi un po

    Io ho sul mio filmato tanti clipfilmati. questi clip cliccandoci sopra devono mandare a un url "pippo".

    Una cavolata, se non fosse che tutti gli url devono essere asseganti tramite xml.

    Io pensavo, creo un array e carico l'id e l'url.
    il file xml lo pensavo strutturato in questo modo:

    <nazioni>
    <nazione id="AZ1570">
    <url link="http://www.pippo.it" targets="_blank"></url>
    </nazione>
    </nazioni>

    PROBLEMA:

    Non riesco a creare l'array e non riesco ad assegnare i link ai vari mc...

    AIUTOOOOOOOOOOOOOOOOOOOOO

    Miriam

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    intanto puoi inserire il codice che hai scritto fino ad ora per fare il parsing

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    265

    ma

    io non ho scritto codici..
    ho provato ad usare la guida che c'e' qui sul sito di html.it ma non riesco a farlo funzionare..
    ho solo l'xml...

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    ah... dal thread non era chiaro, pareva solo che non riuscissi a fare l'ultima parte
    Non riesco a creare l'array e non riesco ad assegnare i link ai vari mc
    non che non avessi fatto nulla

    comunque la guida è un po' vecchia, magari è per questo che non ti ci ritrovi
    ti scrivo il codice del parsing... ma devi sforzarti a comprenderlo se poi vuoi andare avanti da sola

    Codice PHP:
    // creo una stringa con il nome del file xml
    var u:String "test.xml";
    // creo un array che riempirò al caricamento dell'xml
    var a:Array = new Array();
    // creo un oggetto xml da sfruttare per il parsing dell'xml esterno
    var p:XML = new XML();
    // comprimo i nodi eliminando gli spazi, per evitare problemi nel parsing
    p.ignoreWhite true;
    // attivo il metodo onLoad dentro il quale scrivo il parsing dell'xml
    p.onLoad = function(ok) {
        
    // se caricato correttamente
        
    if (this.loaded) {
            
    // creo una variabile che contenga i nodi sotto forma di array
            
    var temp:Array = this.firstChild.childNodes;
            
    // con un ciclo "for" ne estraggo tutti i nodi e gli attributi di cui ho bisogno
            
    for (var i:Number 0i<temp.lengthi++) {
                
    // per ogni nodo, inserisco nell'array "a" un Object con tre variabili: "id", "link", "targets"
                
    a.push({id:temp[i].attributes.idlink:temp[i].firstChild.attributes.linktargets:temp[i].firstChild.attributes.targets});
                
    // al termine del ciclo, ossia quando "i" arriva al limite...
                
    if (i>=temp.length-1) {
                    
    // ... avvio la funzione di utilizzo dell'array appena riempito
                    
    useArray(a);
                }
            }
        }
    };
    function 
    useArray(a:Array) {
        
    // azioni di utilizzo dell'array "a"
        // ogni indice dell'array contiene le variabili "id", "link", "targets"
        // sfruttabili all'interno di questa funzione, ad esempio io ne faccio un trace
        
    for (var k:Number 0k<a.lengthk++) {
            
    trace("id: "+a[k].id);
            
    trace("link: "+a[k].link);
            
    trace("targets: "+a[k].targets);
            
    trace("______________________");
        }
    }
    p.load(u); 

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    265

    si

    scusami, avevo creato qualcosa ma era totalemnte diverso da quello che mi hai scritto tu...
    e credo proprio che sia quello il motivo per cui non funzionava

    adesso il trace funziona!!!

    allora come id avevo pensato di mettere il "nome istanza" di ogni mc e poi di assegnare l'url e quindi il campo "link" ai vari mc.

    Dici che funziona se faccio:


    for (var k:Number = 0; k<a.length; k++) {

    a[k].id.getUrl(a[k].link,a[k].targets)

    }

    Ok ho provato non funziona...U_U
    aiuto?

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    le variabili che arrivano da xml sono di tipo "stringa", perciò non puoi richiamare in quel modo un percorso, è come se stessi scrivendo

    "mio_clip"

    il chè ovviamente genera un errore di parsing

    però se tu sai dove si trovano questi clip, puoi richiamarli in questo modo

    _root["mio_clip"]

    perciò nel tuo caso

    for (var k:Number = 0; k<a.length; k++) {
    _root[a[k].id]
    }

    ps. quel a[k].id.getUrl(a[k].link,a[k].targets) sarebbe comunque sbagliato perchè non esiste la funzione MovieClip.getUrl()

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    265

    e quindi

    come faccio a dargli un url senza get URL?

  8. #8

    Re: e quindi

    Originariamente inviato da Myry..
    come faccio a dargli un url senza get URL?
    scusate se mi intrometto....
    ma and80 nn ha detto che nn devi usare il getURL ...ha detto che quella sintassi è sbagliata

    nn esiste clip.getURL....

    cmq
    ma se hai i dati .....messi anche in degli array
    ti crei un clip con dentro anche il pls oltre alle caselle di testo x i dati

    poi ti attacchi sullo stage tanti clip quanti te ne servono
    e al pls batsa un semplice getUrl della var che prenderai dal xml


    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 !

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2004
    Messaggi
    265

    we

    ancora tu

    Il mio problema è che non posso creare un clip e duplicarlo perche ogni clip è diverso dall'altro.

    ho la necessita di assegnare ad ogni clip un url che è dentro all'xml. per distinguere i clip pensavo di usare il loro nome istanza e di assegnare per ogni nome il proprio link.

    infatti nell'xml specifico un id e un link.

    il mio unico problema e che non riesco ad assegnare ad ogni clip il suo specifico link ("www.pippo.it")

    Ciauz!

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    getURL è una funzione globale, va richiamata dentro un evento, ad esempio nel click del clip

    Codice PHP:
    for (var k:Number 0k<a.lengthk++) {
        
    _root[a[k].id].k;
        
    _root[a[k].id].onPress = function(){
            
    getURL(a[this.k].linka[this.k].targets);
        }

    più tardi ti spiego il perchè del this.k...

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.