Visualizzazione dei risultati da 1 a 7 su 7

Discussione: dati xml da ricavare

  1. #1

    dati xml da ricavare

    salve ho uno script xml che mi carica i dati dentro un mc sullo stage
    il tutto funziona perfettamente vi posto la porzione di codice che mi interessa da capire
    ---> codece:

    focuspro._visible = false;
    colonne = 3;
    dati = new Array();
    filexml = new XML();
    filexml.ignoreWhite = true;
    filexml.onLoad = function(loaded) {
    if (success) {
    trace("Error loading XML.");
    } else {
    trace("Hai caricato il file xml con successo...");
    }
    // end else if
    my_mc.cat._visible = 0;
    dati = filexml.firstChild.childNodes[categoriasito].childNodes;
    for (i=0; i<dati.length; i++) {
    my_mc.cat.duplicateMovieClip("cat"+i, i*1+5000);
    my_mc["cat"+i].loader.loadMovie(dati[i].attributes.urlimagegrande);
    my_mc["cat"+i].loader._xscale=15;
    my_mc["cat"+i].loader._yscale=15;
    my_mc["cat"+i].input_txt.text = dati[i].attributes.desc;
    if (i<colonne) {
    my_mc["cat"+i]._y = 0;
    // distanza tra icone in orizzontale 105*i+20 (X)
    my_mc["cat"+i]._x = 105*i+20;
    } else {
    //distanza tra icone 125 in verticale (Y)
    my_mc["cat"+i]._y = Number(my_mc["cat"+(i-colonne)]._y)+125;
    my_mc["cat"+i]._x = my_mc["cat"+(i-colonne)]._x;
    }
    // end else if

    fine codice--->
    in questo punto:
    my_mc["cat"+i].loader.loadMovie(dati[i].attributes.urlimagegrande);
    my_mc["cat"+i].loader._xscale=15;
    my_mc["cat"+i].loader._yscale=15;
    viene caricato dentro my_mc["cat"+i].loader l'immagine corrispndente all xml
    my_mc["cat"+i].loader č di fatto un icona per questo viene scalato al 15%
    per renderlo piu piccolo, (vedi 2 riche con _xscale _yscale)

    il mio problema č che loader č un mc quadrato di 97 pixel sullo stage
    e le immagini che ci finiscono dentro non sono quadrate, a volte sono alte e strette o viceversa, il fatto č che le immagini caricate dentro loader rimangono allineate in alto a sinistra (il pinto zero per capirci)
    io vorrei centrare le immgini caricate in modo da averle centrate nel quadrato di 97 pixel

    come posso ricavare le reali dimensionidi loader e gestirle in modo da spostare l'immagine caricata nel punto giusto per centrala?

    se faccio un trace mi dice che my_mc["cat"+i].loader č 14.55 (che č la dimensione dopo la scalatura al 15% ma di fatto contiene un immagine ridimensionata che č 97 pixel circa
    non riesco atrovare una soluzione...


    thank Luca
    luka
    _._._

    www.tinybros.com

  2. #2
    invece di usare loadMovie usa l'oggetto MovieClipLoader, che ha anche dei controlli sul caricamento


    Questo lo metti sopra, fuori dal ciclo
    codice:
    var MCL:MovieClipLoad = new MovieClipLoader():
    
    var listLoad:Object = new Object();
    listLoad.onLoadInit = function(mc:MovieClip(){
      //centro l'immagine sul punto 0,0, del parent
       mc._x = -mc._width/2
       mc._y = -mc._height/2
    }
    
    
    MCL.addListener(listLoad)

    questo nel ciclo, quando devi caricare, a posto di questo my_mc["cat"+i].loader.loadMovie(dati[i].attributes.urlimagegrande);

    codice:
    //controlla che forse ho invertito i parametri, non ricordo se va prima il path o il target)
    MCL.loadClip(dati[i].attributes.urlimagegrande, my_mc["cat"+i].loader)

  3. #3

    ciao STan

    1) grazie della celere rispossta
    2) mi ha dato alcuni errori tra cui il fatto che non riesce a caricare la classe o l'interfaccia
    MovieClipLoad

    3) nel frattempo ho risolto andando nel file my_mc sullo stage e infilando una variabile
    cosi:

    onClipEvent (load) {
    this._x = (97-this._width)/2;
    this._y = (97-this._height)/2;
    }

    in questo modo forzo l'mc a regolarsi su suoi dati effettivi

    pero ora ho risolto
    magari il tuo script lo utilizzo in altra sede
    dopo averlo analizzato ben bene
    cmq sia sei un grande per la velocita diponibilita

    thanks
    luka
    _._._

    www.tinybros.com

  4. #4
    Perchč sono un pirla ^^

    MovieClipLoader

  5. #5

    update

    giusto perche pųo essere utile in futui
    ho fatto le modifiche per mi da ancora qualche errore
    ti posto il report
    e poi tutto il codice cosi se ti vā gli puoi dar eun occhio
    cmq visto che ho giā risolto in altro modo non sentirti obbligato
    Luca

    debug:

    riga 15: Errore di sintassi.
    var MCL:MovieClipLoader = new MovieClipLoader():

    riga 18: Č previsto ')' o ','
    listLoad.onLoadInit = function(mc:MovieClip(){

    riga 22: Rilevato '}' imprevisto
    }

    ___code>:


    focuspro._visible = false;
    colonne = 3;
    dati = new Array();
    filexml = new XML();
    filexml.ignoreWhite = true;
    filexml.onLoad = function(loaded) {
    if (success) {
    trace("Error loading XML.");
    } else {
    trace("Hai caricato il file xml con successo...");
    }
    // end else if
    ______________quella che segue č linea 15_____________________________
    var MCL:MovieClipLoader = new MovieClipLoader():

    var listLoad:Object = new Object();
    _____________quella che segue č linea 18________________________
    listLoad.onLoadInit = function(mc:MovieClip(){
    //centro l'immagine sul punto 0,0, del parent
    mc._x = -mc._width/2
    mc._y = -mc._height/2
    ___________quella ceh segue č riga 22___________________________
    }


    MCL.addListener(listLoad)
    __________________________________________________ ___________________________
    my_mc.cat._visible = 0;
    dati = filexml.firstChild.childNodes[categoriasito].childNodes;
    for (i=0; i<dati.length; i++) {
    my_mc.cat.duplicateMovieClip("cat"+i, i*1+5000);
    //my_mc["cat"+i].loader.loadMovie(dati[i].attributes.urlimagegrande);
    __________________________________________________ _________________________________
    MCL.loadClip(dati[i].attributes.urlimagegrande, my_mc["cat"+i].loader)
    __________________________________________________ _________________________________
    my_mc["cat"+i].loader._xscale=15;
    my_mc["cat"+i].loader._yscale=15;
    //trace (my_mc["cat"+i].loader._width)
    //my_mc["cat"+i].loader._x =my_mc["cat"+i].loader. ;
    my_mc["cat"+i].input_txt.text = dati[i].attributes.desc;
    //my_mc["cat"+i].input_txt.text = my_mc["cat"+i].mover._width;
    if (i<colonne) {
    my_mc["cat"+i]._y = 0;
    // distanza tra icone in orizzontale 105*i+20 (X)
    my_mc["cat"+i]._x = 105*i+20;
    } else {
    //distanza tra icone 125 in verticale (Y)
    my_mc["cat"+i]._y = Number(my_mc["cat"+(i-colonne)]._y)+125;
    my_mc["cat"+i]._x = my_mc["cat"+(i-colonne)]._x;
    }
    // end else if
    my_mc["cat"+i].ttip = dati[i].attributes.desc;
    my_mc["cat"+i].fade._alpha = 100;
    my_mc["cat"+i].onRollOver = function() {
    this.fade.alphaTo(0, 1);
    this.mover.ySlideTo(19, 5.000000E-001);
    this.input_txt.colorTo(rollcolor, 2);
    //trace("Sei sopra "+this._name);
    };
    my_mc["cat"+i].onRollOut = function() {
    this.fade.alphaTo(100, 2);
    this.mover.ySlideTo(0, 5.000000E-001);
    this.input_txt.colorTo("0xFFFFFF", 2);
    //trace("Hai abborrato "+this._name);
    };
    my_mc["cat"+i].link = dati[i].attributes.url;
    my_mc["cat"+i].pdf = dati[i].attributes.pdf;
    my_mc["cat"+i].urlimagegrande = dati[i].attributes.urlimagegrande;
    my_mc["cat"+i].testo = dati[i].attributes.testo;
    my_mc["cat"+i].ttitlod = dati[i].attributes.desc;
    my_mc["cat"+i].onRelease = function() {
    _global.linkPdf=this.pdf;
    _global.linkPagina=this.link;
    focuspro._visible = true;
    focuspro.alphaTo(100, 1, "linear");
    //focuspro.tween("_x", 32, 1.5);
    focuspro.tween("_x", 32, 0.3);
    my_mc.alphaTo(0, 1, "linear", 0, function () {
    this._visible = false;
    });
    meuScroll.alphaTo(0, 1, "linear", 0, function () {
    this._visible = false;
    });
    focuspro.descri.text = this.testo;

    focuspro.titoloe.text = this.ttitlod;
    focuspro.fotogrande.dentro.loadMovie(this.urlimage grande);

    focuspro.fotogrande._yscale=100;
    focuspro.fotogrande._xscale=100;

    };
    focuspro.indietro.onRelease = function() {
    my_mc._visible = true;
    //my_mc.alphaTo(100, 1, "linear");
    //gestisce l'apparizione delle icone in termini di alpha
    my_mc.alphaTo(100, 0, "linear");
    meuScroll._visible = true;
    meuScroll.alphaTo(100, 0, "linear");
    //focuspro.tween("_x", 822, 1.5);
    focuspro.tween("_x", 822, 0.3);

    focuspro.alphaTo(0, 1, "linear", 0, function () {
    this._visible = false;
    });
    //trace("Hai cliccato: "+this._name);
    };

    focuspro.link_1.onRelease = function() {
    //suonoclick.start();
    getURL(_global.link1, "_blank");
    //trace("Hai cliccato: "+this._name);
    };
    focuspro.link_2.onRelease = function() {
    suonoclick.start();
    getURL(_global.link2, "_blank");
    //trace("Hai cliccato: "+this._name);
    };
    }
    };
    filexml.load("xml/foto.xml");
    ____fine code>
    luka
    _._._

    www.tinybros.com

  6. #6
    c'erano un macello di errori, l'ho provato sul player

    codice:
    var MCL:MovieClipLoader = new MovieClipLoader();
    
    var listLoad:Object = new Object();
    listLoad.onLoadInit = function(mc:MovieClip){
      //centro l'immagine sul punto 0,0, del parent
       mc._x = -mc._width/2
       mc._y = -mc._height/2
    }
    
    
    MCL.addListener(listLoad)
    
    //controlla che forse ho invertito i parametri, non ricordo se va prima il path o il target)
    MCL.loadClip(dati[i].attributes.urlimagegrande, my_mc["cat"+i].loader)

  7. #7

    ok

    ora va senza noie
    pero ora mi legni come una pera lo sō per quello che ti chiedero
    ora le icone sono caricate ma sempre in alto a sinistra
    secondo il tuo script le icone dovrebbero posizionarsi giā a meta o devo ricavarne io
    i dati e modificarli?

    nel codice tu hai messo mc._x ed mc._y
    questi due nomi li devo cambiare in my_mc oppure no

    mc._x = -mc._width/2
    mc._y = -mc._height/2

    scusal atesta rdagine ma volte mi perdo nei dettagli
    luka
    _._._

    www.tinybros.com

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.