Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Galleria Immagini Dinamica [For?]

    ciao gente,
    allora, vengo al dunque, sto facendo una galleria di immagini dinamica, che con un file php fa il listato di una cartella, passa i nomi delle immagini al flash che si carica le immagini :

    codice:
    var elenco = new LoadVars();
    elenco.load("images.txt");
    _root.prova.createEmptyMovieClip(prova, 10);
    elenco.onLoad = function() {
    	myArray = new Array();
    	myArray = elenco.nome.split("|");
    	for (i=0; i<myArray.length; i++) {
    		_root.prova.duplicateMovieClip(clip[i], i);
    		_root.clip[i]._x += 80*i;
    		loadMovie(myArray[i]+'.jpg', clip[i]);
    	}
    };
    stop();
    (qui ho usato un txt per spicciarmi e testarlo in locale)

    il problema è questo: con il ciclo di for mi carica sempre e soltanto l'ultima immagine dell'elenco, e non riesco a capire perchè...
    qualcuno ha qualche idea?
    grazie :bubu:

  2. #2
    Utente di HTML.it L'avatar di 7vite
    Registrato dal
    Mar 2001
    Messaggi
    3,407
    clip[i] cos'è?

  3. #3
    vorrebbe essere l'istanza del movieclip duplicato con la i che si incrementa, è sbagliato?

  4. #4
    Utente di HTML.it L'avatar di 7vite
    Registrato dal
    Mar 2001
    Messaggi
    3,407
    Non so il tuo contesto.
    Io farei:
    codice:
    var elenco = new LoadVars();
    elenco.load("images.txt");
    _root.createEmptyMovieClip("prova", 10);
    elenco.onLoad = function() {
    	myArray = new Array();
    	myArray = elenco.nome.split("|");
    	for (i=0; i<myArray.length; i++) {
    		_root.prova.duplicateMovieClip("clip"+i, i);
    		myclip = _root["clip"+i];
    		myclip._x += 80*i;
    		loadMovie(myArray[i]+'.jpg', myclip);
    	}
    };
    stop();

  5. #5
    è esattamente quello che stavo cercando di fare,

    grazie mille settevite :bubu:

  6. #6
    Utente di HTML.it L'avatar di 7vite
    Registrato dal
    Mar 2001
    Messaggi
    3,407
    Di nulla

  7. #7
    sto perfezionando questa galleria, ecco cosa ho fatto:

    root:
    codice:
    var elenco = new LoadVars();
    elenco.load("images.txt");
    _root.conte.createEmptyMovieClip("prova", 10);
    elenco.onLoad = function() {
    	myArray = new Array();
    	myArray = elenco.nome.split("|");
    	for (i=0; i<myArray.length; i++) {
    		_root.conte.prova.duplicateMovieClip("clip"+i, i);
    		myclip = _root.conte["clip"+i];
    		myclip._y += 50*i;
    		loadMovie(myArray[i]+'.jpg', myclip);
    	}
    };
    stop();
    'conte' è un clip vuoto sulla root

    sul clip conte:
    codice:
    onClipEvent (load) {
    	function open(y) {
    		trace(y);
    		for (i=0; i<_root.myArray.length; i+=50) {
    			if (y>i and y<(i+50)) {
    				trace('immagine '+i);
    			}
    		}
    	}
    }
    on (release) {
    	open(this._ymouse);
    }
    essendo tutte le thumb grandi 50px questo codice dovrebbe permettermi di sapere su quale immagine ho clicato ma non so perchè funziona solo sulla prima...

    qualche idea?

  8. #8
    ho risolto:
    codice:
    onClipEvent (load) {
    	function open(y) {
    		n=0;
    		for (i=0; i<_root.myArray.length; n+=50) {
    			if (y>n and y<(n+50)) {
    				trace('immagine '+i);
    			}
    			i++
    		}
    	}
    }
    on (release) {
    	open(this._ymouse);
    }
    :mavieni:

  9. #9
    Utente di HTML.it L'avatar di 7vite
    Registrato dal
    Mar 2001
    Messaggi
    3,407
    Io avevo risolto così:
    codice:
    onClipEvent (load) {
    	function open(y) {
    		for (i=0; i<_root.myArray.length; i++) {
    			if (y>(i*50) and y<((i+1)*50)) {
    				trace('immagine '+i);
    				break;
    			}
    		}
    	}
    }
    on (release) {
    	open(this._ymouse);
    }
    Magari metti un break così esci subito dal ciclo

  10. #10
    avevo provato anche io con il break però poi ho cambiato, preferisco usarli il meno possibile, tanto è un ciclo molto breve (grazie comunque!)
    :bubu:

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.