Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Svuotare un array caricato da XML - flash 8.0

    Salve a tutti Ragazzi,
    Spero che abbiate passato delle buone vacanze estive, e se ancora dovete partire, buone vacanze! vengo a chiedervi lumi riguardo un problema che mi sta spaccando la testa ormai da giorni.. la situazione è questa: ho un algoritmo all'interno di un programma in actionscript, e questo algoritmo mi carica delle immagini da un file xml dentro un array e me le visualizza dentro il filmato flash..l'evento che carica le immagini è la pressione di un mc pulsante..la mia domanda è: come posso fare per cancellarne il contenuto dell'array ogni volta che premo il pulsante, prima di caricare le nuove immagini? la stringa di actionscript è la seguente:
    //imposto le variabili
    var immagini:Array = new Array();
    var containers:Array = new Array();
    _global.ArrayXML = [myXML2, myXML3, myXML4, myXML5, myXML6];
    _global.fotobases = new Array();
    _global.myXML = new XML();

    myXML.ignoreWhite = true;
    myXML.onLoad = function(ok) {
    if (ok) {
    _global.allGalleryData3 = this.firstChild.childNodes;
    _global.mioArray = Array(allGalleryData3.length);
    for (i=0; i<allGalleryData3.length; i++) {
    mioArray[i] = sliderHolder_mc.slider_mc.attachMovie('template',' piece'+i,i);

    //la parte precedente è in pratica un meccanismo che carica i pulsanti per ciascun lavoro //sullo stage, i cosiddetti pieces o "targhette", che se premuti caricano ciascuno una serie //di foto comandate dall'xml

    //Script del comportamento del pulsante
    pulsCarica.onRelease = function() {
    att = new String(this._parent._parent);
    num = parseInt(att.substring(att.length-1, att.length));
    var mcb:MovieClipLoader = new MovieClipLoader();
    var picListener2:Object = new Object();
    mcb.addListener(picListener2);
    for (k=0; k<(immagini[num]).length; k++) {
    fotobases[num][k] = _root.caricaGAL.sezioneGAL.createEmptyMovieClip("f otobase"+num+k, k);
    containers[num][k] =
    fotobases[num][k].attachMovie('fotoN', 'fotopiece'+num+k, k);
    mcb.loadClip("immagini/"+(immagini[num])[k], containers[num][k]);
    }
    }
    questo è l'algoritmo.
    in pratica: come posso far sì che quando premo mi cancelli tutte le immagini dell' array, prima di inserire quelle nuove?
    Grazie a chiunque possa rispondermi!
    Il mondo è tuo se non se lo prende qualcun altro

  2. #2
    il metodo load del caricamento dei file xml dove stà?
    se il tuo problema è che ti fa vedere sempre le stesse img magari si può provare a forzare il richiamo dei file xml dato che si conserva in cache gli stessi

    in quanto teoricamente se ricrei l'array ...il precedente dovrebbe essere cancellato in automatico

    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, grazie per la risposta!
    Si i metodi load degli XML ci sono ma erano più avanti nel testo, che ho omesso per non complicare le cose comunque erano scritti così:
    for (k=0; k<(immagini[num]).length; k++) {
    fotobases[num][k] = _root.caricaGAL.sezioneGAL.createEmptyMovieClip("f otobase"+num+k, k);
    containers[num][k] =
    fotobases[num][k].attachMovie('fotoN', 'fotopiece'+num+k, k);
    mcb.loadClip("immagini/"+(immagini[num])[k], containers[num][k]);
    }
    }
    myXML.load('xml/gallery_01.xml');



    _global.ArrayXML[0] = new XML();
    ArrayXML[0].ignoreWhite = true;
    ArrayXML[0].onLoad = function(ok) {
    if (ok) {
    //process data
    Galleria = ArrayXML[0].firstChild.childNodes;
    for (l=0; l<Galleria.length; l++) {
    photos = Galleria[l].childNodes;
    immagini[l] = new Array();
    containers[l] = new Array();
    fotobases[l] = new Array();
    for (k=0; k<photos.length; k++) {
    immagini[l][k] = photos[k].firstChild;
    }
    if (ArrayXML[0].firstChild.childNodes[l].attributes.testo == "notext") {
    mioArray[l].MC_fintesto.area_fin.enabled = false;
    }
    if (ArrayXML[0].firstChild.childNodes[l].attributes.titolo == "notitle") {
    mioArray[l].p_lavoro.area_TXT.enabled = false;
    }
    }
    }
    };
    ArrayXML[0].load('immagini_01.xml');

    dici che si può forzare l'XML? potresti farmi un esempio? grazie ancora!
    Il mondo è tuo se non se lo prende qualcun altro

  4. #4
    beh prova con una cosa del genere

    filexml = "xml/gallery_01.xml";
    myXML.load(filexml + "&rnd=" + random(999999));

    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 !

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.