Visualizzazione dei risultati da 1 a 7 su 7

Discussione: duplicateMovieClip

  1. #1
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929

    duplicateMovieClip

    ciao a tutti,

    Avrei bisogno di un'aiuto non riesco a capire come fare per disporre le clip duplicate in orizzontale e verticale


    ho fatto cosi ma non viene bene :master:

    codice:
    // 
    // Sulla root ho una clip vuota "contenitore"
    // 
    // posizione clip x
    iniziox = 0;
    // posizione clip y
    inizioy = 0;
    // numero clip orizzontale
    orizzontale = 2;
    // numero clip in verticale
    verticale = 4;
    // altezza immagine
    altezza = 60;
    // larghezza immagine
    larghezza = 60;
    // spaziiatura tra  immagini
    spaziatura = 10;
    // carico da txt
    // che è strutturato cosi:
    // immagini=1.jpg|2.jpg|3.jpg|4.jpg|5.jpg|6.jpg|7.jpg|8.jpg|9.jpg
    // 
    var elenco = new LoadVars();
    elenco.load("file.txt");
    elenco.onLoad = function() {
        myclip._y = inizioy;
        myclip._x = iniziox;
        myArray = new Array();
        myArray = elenco.immagini.split("|");
        for (i=0; i<myArray.length; i++) {
            _root.contenitore.duplicateMovieClip("clip"+i, i);
            myclip = _root["clip"+i];
            myclip._y += (altezza+spaziatura)*i;
    		trace(myclip._name +" - "+ myclip._x+" - "+myclip._y);
            if (_root["clip"+i]=_root["clip"+verticale]) {
                myclip._y = inizioy;
                myclip._x += larghezza+spaziatura*i;
                trace(myclip._name +" - "+ myclip._x+" - "+myclip._y);
            }
            loadMovie("images/"+myArray[i], myclip);
        }
        trace(myArray);
    };
    stop();
    nel trace ottengo
    codice:
    clip0 - 14.65 - 18
    clip1 - 14.65 - 88
    clip2 - 14.65 - 158
    clip3 - 14.65 - 228
    clip4 - 14.65 - 298
    clip4 - 114.65 - 0
    clip5 - 14.65 - 368
    clip5 - 124.65 - 0
    clip6 - 14.65 - 438
    clip6 - 134.65 - 0
    clip7 - 14.65 - 508
    clip7 - 144.65 - 0
    clip8 - 14.65 - 578
    clip8 - 154.65 - 0
    1.jpg,2.jpg,3.jpg,4.jpg,5.jpg,6.jpg,7.jpg,8.jpg,9.jpg

    Grazie

  2. #2
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    verticale = 4;
    // altezza immagine
    altezza = 60;
    // larghezza immagine
    larghezza = 60;
    // spaziiatura tra immagini
    spaziatura = 10;

    for (i=1; i<10; i++) {
    _root.contenitore.duplicateMovieClip("clip"+i, i);
    myclip = _root["clip"+i];
    if(i<=verticale){
    ky=i
    kx=0
    }
    else if(i>verticale){
    div=(Math.floor((i/verticale)-0.1))*verticale
    ky= (i-div)
    kx= Math.floor((i/verticale)-0.1)
    }
    myclip._y= ((altezza+spaziatura)*ky)-(altezza+spaziatura);
    myclip._x= (larghezza+spaziatura)*kx;

    trace(" _x= "+myclip._x+" _y= "+myclip._y)
    }
    così dovrebbe andare.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    Grazie mille

    guarda qui le clip sono 8 ne fà sette bene ma l'ottavala mette in alto e non si vede :master:

    se vuoi provare fai un file di testo
    codice:
    immagini=1.jpg|2.jpg|3.jpg|4.jpg|5.jpg|6.jpg|7.jpg|8.jpg|9.jpg
    e per comodità scarica
    io vorrei poter dire ad esempio di incolonnarne 2 in verticale e poi lui crea le colonne necessarie per metterle in orizzontale

    Grazie ancora
    codice:
    // 
    // Sulla root ho una clip vuota "contenitore"
    // 
    // posizione clip x
    iniziox = 0;
    // posizione clip y
    inizioy = 0;
    // numero clip orizzontale
    //orizzontale = 2;
    // numero clip in verticale
    verticale = 4;
    // altezza immagine
    altezza = 60;
    // larghezza immagine
    larghezza = 60;
    // spaziiatura tra  immagini
    spaziatura = 10;
    // carico da txt
    // che è strutturato cosi:
    // immagini=1.jpg|2.jpg|3.jpg|4.jpg|5.jpg|6.jpg|7.jpg|8.jpg|9.jpg
    // 
    var elenco = new LoadVars();
    elenco.load("file.txt");
    elenco.onLoad = function() {
        myclip._y = inizioy;
        myclip._x = iniziox;
        myArray = new Array();
        myArray = elenco.immagini.split("|");
        for (i=0; i<myArray.length; i++) {
            _root.contenitore.duplicateMovieClip("clip"+i, i);
            myclip = _root["clip"+i];
            if (i<verticale) {
                ky = i;
                kx = 0;
            } else if (i>verticale) {
                div = (Math.floor(i/verticale))*verticale;
                ky = (i-div)-1;
                kx = Math.floor(i/verticale);
            }
            myclip._y = (altezza+spaziatura)*ky;
            myclip._x = (larghezza+spaziatura)*kx;
            loadMovie("images/"+myArray[i], myclip);
        }
        trace(myArray);
    };
    stop();

  4. #4
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    ho modificato il precedente

    (non l'avevo provato)

    ora dovrebbe funzionare, anche se si può ottimizzare
    naturalmente devi sostituire il <10 con <= lunghezza dell'array

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    dove lo vedo :master: me lo invii?

    mail

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    dove lo vedo :master: me lo invii?

    mail

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    scusami ho capito adesso che avevi modificato il post precedente

    Grazie mille è perfetto!!!

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.