Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    194

    photogallery dinamica: come distribuire in modo ordinato

    come faccio a distribuire in modo ordinato dinamicamente le immagini da caricare? per ora vengono sovrapposte, in origine era casuale

    codice:
    MovieClip.prototype.caricamento_jpg = function(jpg, foto, colore) {
    	_global.livelloClip++;
    	// creazione di un nuovo movieclip posizionato dal generatore _global.livelloClip++
    	// altrimenti si vedrebbero tutte le foto posizionate (0,0) sullo stage, semplicemente
    	// una sopra l'altra
    	var mc = this.createEmptyMovieClip("charg" + _global.livelloClip, 100 + _global.livelloClip);
    	foto.loadMovie(jpg);
    	mc.onEnterFrame = function() {
    		this.percent = Math.floor((foto.getBytesLoaded() / foto.getBytesTotal()) * 100);
    		this.percent9 = .9 * this.percent;
    		foto._parent._xscale = 100 - this.percent / 3;
    		foto._parent._yscale = 100 - this.percent / 3;
    		if (!isNan(this.percent) && foto.getBytesTotal() > 50) {
    			this.clear();
    			with (this) {
    				// riempimento colore sfondo della foto in fase di caricamento
    				// 80 è il valore della trasparenza
    				beginFill(colore, 80);
    				// proprietà linee che formano il bordo della 
    				// foto durante il caricamento
    				// stile della linea
    				lineStyle(0, 0x999999, 100);
    				moveTo(foto._x, foto._y);
    				// tracciamento della linea
    				lineTo(foto._x + percent, foto._y);
    				lineTo(foto._x + percent, foto._y + percent9);
    				lineTo(foto._x, foto._y + percent9);
    				lineTo(foto._x, foto._y);
    				// termine riempimento
    				endFill();
    			}
    		}
    		if (this.percent == 100 && foto.getBytesTotal() > 50) {
    			mc.removeMovieClip();
    			delete this.onEnterFrame;
    			// alla fine del caricamento crea le foto thumbs
    			foto._width = 100;
    			foto._height = 90;
    			with (foto._parent) {
    				// impostazioni grandezza e trasparenza
    				// della foto piccola
    				_xs = 70;
    				_ys = 70;
    				_xscale = 70;
    				_yscale = 70;
    				_alpha = 100;
    				//--------------------
    				moveTo(50, -45);
    				lineStyle(1, 0);
    				lineTo(-50, -45);
    				lineTo(-50, 45);
    				lineStyle(1, 0x999999);
    				lineTo(50, 45);
    				lineTo(50, -45);
    			}
    		}
    	};
    };
    // --------------------------------------------------------
    // FUNZIONE QUANDO PREMIAMO LA FOTO PICCOLA SI INGRANDISCE
    // --------------------------------------------------------
    MovieClip.prototype.clicca = function() {
    	// grandezza della foto ingrandita + alziamo il 
    	// valore e più sarà grande la foto
    	var ingrandimento = 450;
    	// alla fine dell'ingrandimento nascondiamo il puntatore del mouse
    	mouse.hide();
    	delete this.onEnterFrame;
    	this._x0 = _root._xmouse - this._x;
    	this._y0 = _root._ymouse - this._y;
    	// livello di sovraposizione tra un livello e l'altro
    	this.swapDepths(_root.livello += 20);
    	this.onEnterFrame = function() {
    		// effetto rotazione, quando clicchiamo sulla foto
    		// essa roterà fino ad allinearsi orizzontalmente e verticalmente
    		this._x = _root._xmouse - this._x0;
    		this._y = _root._ymouse - this._y0;
    		// velocità dell'allineamento
    		// se alziamo il valore la foto si allinerà lentamente
    		this._rotation += (0 - this._rotation) / 3;
    		// velocità dell'ingrandimento foto scelta
    		// se alziamo il valore la foto si ingrandirà lentamente
    		this._xscale += (ingrandimento - this._xscale) / 3;
    		this._yscale += (ingrandimento - this._yscale) / 3;
    	};
    };
    // -----------------------------------------------------------------
    // FUNZIONE QUANDO RILASCIAMO LA FOTO INGRANDITA SI RIMPICCIOLISCE
    // -----------------------------------------------------------------
    MovieClip.prototype.rilascio = function() {
    	// al rilascio della foto ingrandita mostra il
    	// puntatore del mouse
    	mouse.show();
    	delete this.onEnterFrame;
    	this.onEnterFrame = function() {
    		// velocità rotazione della foto durante il rilascio
    		this._rotation += (this._r - this._rotation) / 2;
    		this._xscale += (70 - this._xscale) / 2;
    		this._yscale += (70 - this._yscale) / 2;
    		if (this._xscale < 72) {
    			this._rotation = this._r;
    			this._xscale = 70;
    			this._yscale = 70;
    			delete this.onEnterFrame;
    			// abilitate questa funzione per sapere
    			// il nome della foto che avete premuto
    			// !valido solo in modalità debug!
    			//trace(this._name);
    		}
    	};
    };
    // -----------------------------------------------------
    function crea_y(tabella) {
    	for (var i = 0; i < tabella.length; i++) {
    		clip = _root.createEmptyMovieClip("foto" + i, i);
    		// IMPOSTAZIONI BORDO DELLA FOTO PRIMA
    		// DEL CARICAMENTO
    		clip._alpha = 60;
    		clip.lineStyle(4, 0, 20);
    		clip.moveTo(-52, 50);
    		clip.lineTo(55, 50);
    		clip.lineTo(55, -47);
    		// IMPOSTAZIONI OMBRA BORDO DELLA FOTO
    		clip.moveTo(55, -50);
    		clip.lineStyle(0, 0xCCCC66);
    		clip.beginFill(0xfffefd, 100);
    		clip.lineTo(-55, -50);
    		clip.lineTo(-55, 50);
    		clip.lineStyle(0, 0);
    		clip.lineTo(55, 50);
    		clip.lineTo(55, -50);
    		clip.endFill();
    		// LA VISUALIZZAZIONE E POSIZIONE DELLE FOTO THUMBS 
    		// SONO RANDOMIZZATE
    		clip._x = 200 ;
    		clip._y = 200 ;
    		//clip._r = -30 + 60 * Math.random();
    		//clip._rotation = clip._r;
    		// RICHIAMO FUNZIONI
    		clip.onPress = clicca;
    		clip.onRelease = rilascio;
    		clip.onReleaseOutside = rilascio;
    		// CREAZIONE DEL MOVIE CLIP CHE INDICA LA 
    		// POSIZIONE DI CARICAMENTO DELLE FOTO
    		clip.createEmptyMovieClip("dest", i + 200);
    		clip.dest._x = -50;
    		clip.dest._y = -45;
    		// caricamento randomizzato, vuol dire che carica una delle immagini
    		// presenti nella lista sottostante
    		// e ne visualizza lo stato di caricamento colorato 
    		// in giallo opaco (0xff8800)
    		clip.caricamento_jpg(tabella[i] + "?" + random(99999), clip.dest, 0x33FFFF);
    	}
    }
    //----------------------------------------------------------
    // LISTA CARICAMENTO IMMAGINI
    //----------------------------------------------------------
    // Potete aggiungere il numero delle immagini 
    // da caricare a vostro piacimento.
    // Le immagini da caricare devono essere caricate dal
    // server web.
    // per una corretta visualizzazione delle immagini
    // utilizzare immagini aventi le stesse dimensioni
    // sia in altezza e in lunghezza, altrimenti
    // si vedranno schiacciate. Si vedono bene anche immagini
    // con dimensioni 640*480.
    //
    // UN BUON CONSIGLIO!!
    // Evitate di visualizzare foto di dimensioni molto grandi
    // altrimenti richiederà molto tempo il caricamento, le thumbs
    // create sono semplicemente quelle originali ma rimpicciolite.
    // Al limite cercate di otiimizzarle le foto utilizzando una
    // buona compressione e che non superino i 100 kb
    //-----------------------------------------------------------
    livello = 10000;
    var img = new Array();
    img[0] = "http://images.motograndprix.com/multimedia2/280/280791.jpg";
    img[1] = "http://images.motograndprix.com/multimedia2/280/280783.jpg";
    img[2] = "http://images.motograndprix.com/multimedia2/280/280808.jpg";
    img[3] = "http://images.motograndprix.com/multimedia2/280/280786.jpg";
    img[4] = "http://images.motograndprix.com/multimedia2/280/280800.jpg";
    img[5] = "http://images.motograndprix.com/multimedia2/280/280796.jpg";
    img[6] = "http://images.motograndprix.com/multimedia2/280/280892.jpg";
    img[7] = "http://images.motograndprix.com/multimedia2/280/280789.jpg";
    img[8] = "http://images.motograndprix.com/multimedia2/280/280798.jpg";
    img[9] = "http://images.motograndprix.com/multimedia2/277/277851.jpg";
    img[10] = "http://images.motograndprix.com/multimedia2/278/278847.jpg";
    img[11] = "http://images.motograndprix.com/multimedia2/278/278837.jpg";
    img[12] = "http://images.motograndprix.com/multimedia2/278/278838.jpg";
    crea_y(img);
    stop();
    //----------------------------------------------------------
    // FINE LISTA CARICAMENTO IMMAGINI
    //----------------------------------------------------------

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    194
    nessuno può aiutarmi?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2003
    Messaggi
    194
    up

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.