Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: scaricare attachmovie

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69

    scaricare attachmovie

    come posso scaricare un clip preso dalla libreria con attachmovie? ho provato con unloadmovie ma mi scarica tutti i filmati non solo quello caricato con attachmovie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    attenzione, ti confondi con i comandi... unLoadMovie è un comando specifico, che scarica i filmati caricati dall'esterno in un determinato MovieClip, quello che serve a te è invece removeMovieClip, assegnato direttamente al clip che si vuole eliminare dallo stage (ma che rimarrà comunque in libreria)

    la sintassi corretta è myMovieClip.removeMovieClip(); dove al posto del testo in corsivo ci va il nome del clip che vuoi eliminare

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69
    ho provato pure con removeMovieClip(); solo che il clip nella libreria non ha un istanza. come faccio ad assegnare un istanza ad un clip che sta nella libreria per poi fare istanza.removeMovieClip();



    metto il codice per farvedere cosa ho fatto
    distanza = 370;
    livello = 100;
    for (l=1; l<numerofoto+1; l++) {
    livello++;
    this.attachMovie("clip", "clip"+livello, livello);
    _parent.contenitore["clip"+livello]._x = 30*l+(-30)+40;
    _parent.contenitore["clip"+livello]._y = 0+distanza+40;
    _parent.contenitore["clip"+livello].mytext = livello-100;
    _parent.contenitore["clip"+livello].pos = myXML.childNodes[0].childNodes[livello-101].attributes.pos;
    _parent.contenitore["clip"+livello].nome = myXML.childNodes[0].childNodes[livello-101].attributes.nome;

    sono tutti quei "clip" che dovrei scaricare

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    i clip sullo stage hanno un nome di istanza ed è quello che devi usare per eliminarli con removeMovieClip... nel tuo caso hai una serie di clip con nomi sequenziali, quindi clip1, clip2, clip3, ecc.., perciò dovresti fare un ciclo esattamente come quello che hai postato, ma questa volta concentrando il codice sulla sola rimozione dei clip

    for (l=1; l<numerofoto+1; l++) {
    livello++;
    _parent.contenitore["clip"+livello].removeMovieClip();
    }

    ora il problema è capire dove mettere questo codice, visto che da quello che hai postato, mi pare che il ciclo sia compreso dentro un parsing XML

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69
    praticamente è uan galleria di foto con flie xml strutturata cosi:

    primo frame:

    stop();
    fscommand("allowscale",false);
    fscommand("showmenu",false);
    // preparazione al caricamento file esterno xml
    myXML = new XML();
    // ignoro gli spazi bianchi della formattazione del file xml
    myXML.ignoreWhite = true;
    // carico il file
    myXML.load("galleriafoto.xml");
    // prima di proseguire verifico che tutto il file sia caricato
    myXML.onLoad = function (){
    trace("test = "+myXML.firstChild.nodeName+" ... XML caricato");
    gotoAndStop(2);
    }


    secondo frame:

    stop();
    // variabili dinamiche
    numerofoto = myXML.childNodes[0].childNodes.length;
    quadri = myXML.childNodes[0].attributes.quadri;
    passo = myXML.childNodes[0].attributes.passo;
    // posizionamento quadri vuoti
    distanza = 0;
    livello = 1;
    for (l=1; l<quadri+1; l++){
    livello++
    _root.attachMovie("quadro","quadro"+livello, livello);
    _root["quadro"+livello]._x = 30*l+(-30)+10;
    _root["quadro"+livello]._y = 0+distanza+40;
    if (l == passo){
    distanza += 30;
    l = 0;
    quadri -= passo;
    }
    }
    // posizionamento clip, numeri e link per le immagini
    distanza = 0
    livello = 100
    for (l=1; l<numerofoto+1; l++) {
    livello++;
    _root.attachMovie("clip", "clip"+livello, livello);
    _root["clip"+livello]._x = 30*l+(-30)+10;
    _root["clip"+livello]._y = 0+distanza+40;
    _root["clip"+livello].mytext = livello-100;
    _root["clip"+livello].pos = myXML.childNodes[0].childNodes[livello-101].attributes.pos;
    _root["clip"+livello].nome = myXML.childNodes[0].childNodes[livello-101].attributes.nome;
    if (l == passo) {
    distanza += 30;
    l = 0;
    numerofoto -= passo;
    }
    }



    e al terzo frame, raggiungibile tramite click di un pulsante, dovrei mettere il codice per scaricare il tutto.

    qunado torno in ufficio domani provo come hai detto tu. ciao e grazie mille per le risposte

  6. #6
    potresti mettere lo script che ti ha postato and in una funzione e richiamare la funzione quando ti serve

    con una cosa del genere

    function Rimuovi(){
    for (a=0; a<numerofoto; a++){
    _root["clip"+a].removeMovieClip();
    };
    };


    x richiamarla

    Rimuovi();

    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 !

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69
    non riesco a farlo funzionare

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    il codice sarebbe corretto, ma il limite del ciclio "numerofoto", nel codice del frame precedente viene ridotto fino a 0, perciò il codice che elimina i movieclip "colpisce" a vuoto

    per lasciare il codice funzionante che già hai, ti consiglio di creare una variabile globale _global.clips a cui assegni sempre nel frame 2 il valore di "numerofoto" prima che cominci il ciclo, così nel terzo fotogramma il tuo codice diventerà

    function Rimuovi(){
    for (a=0; a<_global.clips; a++){
    _root["clip"+a].removeMovieClip();
    };
    };
    Rimuovi();

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69
    cioè nel secondo frame devo mettere

    _global.clips = numerofoto; ?

    ho provato cosi ma i clip sparicono lo stesso solo alla fine del filmato e no qunao la linea temporale passa sul terzo frame

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2006
    Messaggi
    69
    mmm

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.