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

    Galleria dinamica (ultimi problemi ed è perfetta!)

    Salve a tutti. Sono mesi che lavoro su uno script per una galleria di immagini dinamica ed è quasi finita, solo che ho ancora qualche piccolo problema.
    Allora, per prima cosa potete vedere il frutto dei miei sforzi, qui (con immagini provvisorie): http://www.spaziostudenti.net/public...t/gallery.html

    Dunque, un file asp estrae da un db gli url di tutte le foto, che vengono importati così tramite AS.

    Nel primo frame importo la stringa delle foto:
    codice:
    loadVariablesNum("foto.asp", 0);
    e nel frame successivo c'è il seguente script:
    codice:
    MovieClip.prototype.loadjpg = function(imgWidth, imgHeight) {
    
    	this._visible = false;
    	//creo il mc con la barra di preload
    	var loadbar_mc = this.attachMovie("loader_mc", "loader_mc", 2);
    	loadbar_mc._x = ((imgWidth/2)-(loadbar_mc._width/2));
    	loadbar_mc._y = ((imgHeight/2)-(loadbar_mc._height/2));
    	loadbar_mc.loader_barra_mc._xscale = 0;
    	var id = setInterval(function (mc) {
    		var bLoaded = this.getBytesLoaded();
    		var bTotal = this.getBytesTotal();
    		var percentDone = (bLoaded/bTotal)*100;
    		if (bLoaded>1 && (bLoaded>(bTotal-10)) && mc[h]._width>0) {
    			// Elimino la barra di preload
    			removeMovieClip(loadbar_mc);
    			mc._alpha = 99;
    			mc[h]._visible = true;
    			clearInterval(id);
    		} else {
    			trace("loading");
    			loadbar_mc.perc = int(bLoaded/bTotal*100)+"%";
    			loadbar_mc.loader_barra_mc._xscale = percentDone;
    			this._visible = false;
    		}
    	}, 80, this);
    }
    
    
    
    volte = 1
    
    orizz = 4 //numero di colonne
    vert = 2 // numero di righe
    hight = 128 //altezza foto
    width = 123 //larghezza foto
    space = 6 //spaziatura tra foto
    
    
    
    function tabella(inizio,pag){
    
    if (pag == 1){
    	_root.indietro._visible = false
    }else{
    	_root.indietro._visible = true
    }
    
    
    ix = 0;
    iy = 0;
    z = 0;
    
    prima = inizio
    
    for (i=prima; i<=totale; i++){
         if (i==prima){
    		loadMovie (_root["foto"+i], _root.clip);
    		_root.clip.loadjpg(width, hight)
    		_root.clip._x = 10
    		_root.clip._y = 60
    		_root.clip.onRelease = function(){
    
    		var w = System.capabilities.screenResolutionX/2;
            var h = System.capabilities.screenResolutionY/2;
            var x = Math.round(w - (width/2));
    		var y = Math.round(h - (hight/2));
            getURL("javascript:window.open('"+_root["foto"+i]
    +"','...Something Lost...','width=" + width + ",height=" + hight 
    + ",screenX=" + x + ",left=" + x + ",screenY=" + y + ",top=" + y 
    + ",status=no, toolbar=NO, scrollbars=no');void(0);");
    		}
         }else{
    	
    	duplicateMovieClip (clip, "clip"+z, z);
    	mc = _root["clip"+z];
    	loadMovie (_root["foto"+i], mc);
    	mc.loadjpg(width, hight)
    	mc._x = (width+space)*ix+_root.clip._x
    	mc._y = (hight+space)*iy+_root.clip._y
    	mc.click();
    	}
         ix++;
    	 z++;
    
         if (ix>=orizz) {
    		ix=0;
    		iy++;
    	}
    
    	if (i>=(orizz*vert*pag)){
    	break;
    	}
    
    	if (i == totale){
    		post = totale % (orizz*vert)
    		
    		_root.avanti._visible = false
    		
    
    		for (r=post; r<(orizz*vert); r++){
    			removeMovieClip (_root["clip"+r]);
    		}
    	}else{
    		_root.avanti._visible = true
    	}
    
    	
    }
    
    }
    
    _root.onLoad = tabella(1,1)
    dove "clip" è un movieclip vuoto sullo stage.
    Ci sono poi due pulsanti. Quello per vedere la schermata successiva delle foto:
    codice:
    on (release) {
    	
    	_root.volte++
    
    	if (_root.volte==2){
    		numb = 1
    	}else{
    		numb = _root.volte-1
    	}
    	
    	_root.tabella((_root.orizz*_root.vert*numb+1),_root.volte)
    }
    e quello per tornare indietro:
    codice:
    on (release) {
    	
    	_root.volte--
    
    	if (_root.volte==2){
    		numb = 1
    	}else{
    		numb = _root.volte-1
    	}
    	
    	_root.tabella((_root.orizz*_root.vert*numb+1),_root.volte)
    }
    Dunque, il problema è che, una volta arrivato all'ultima schermata delle foto, se riclicco sul pulsante indietro succede non funziona e mi compare una foto grande tutta la pagina! Perchè questo?
    Un'altra cosa è che dovrei fare in modo ke, cliccando su ogni immagine, si apra in una finestra la relativa immagine ingrandita.
    Qualcuno sa aiutarmi? :master:
    Grazie! Ciao!!

  2. #2

  3. #3
    Ok, ho trovato la soluzione! Era una cavolata...!
    Invece di
    codice:
    removeMovieClip (_root["clip"+r]);
    dovevo mettere
    codice:
    UnLoadMovie (_root["clip"+r]);

    Ora rimane il problema di rendere cliccabili le foto!

  4. #4
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    Re:

    Perdonami ma non riesco nella mia ignoranza a capire perchè tanta masturbazione mentale per fare quella cosa lì....

    Scusa ma se mettevi le frecce in un filmato dove ad ogni fotogramma le frecce medesime avevano un link diverso ed al cliccare di una di esse andavi avanti di un fotogramma o indietro di un fotogramma portandoti su un'immagine identica ma con l'ipertesto diverso e nel coontempo un'istanza sotto le frecce con le foto non ottenevi lo stesso risultato senza tritarti la testa attaccato a quello script??

    Dovrei provarci perchè sicuro al 100 non lo sono....ma credo di poter fare la stessa cosa senza nessuno script così complesso...ma ripeto forse mi sto sbagliando alla grande...

  5. #5
    Uhm..... Sinceramente proprio non ho capito cosa intendi.... Comunque ormai non torno più indietro :rollo: Ci ho messo un sacco per far funzionare sto script e mi sembrava l'unica soluzione possibile. Solo che ora non riesco a rendere cliccabili i movieclip, perchè mi sa che in Flash 5 (che io uso, purtroppo) i movielcip non supportano gli eventi del mouse! Qualcuno ha quakche idea per ovviare a ciò? Please! Mi manca solo questo e poi la galleria è finita!

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    Re:

    Ma è semplicissimo.
    Crea un pulsante trasparente e lo vai ad inserire proprio sul livello suoeriore alla tua foto.
    Gli dai il comando che ti serve ed il gioco è fatto.

  7. #7
    Si, ma il problema è che i movielcip, come vedi dal codice, vengono creati dallo script con duplicateMovieClip. Come faccio a creare dinamicamente anke un pulsante sopra al clip? Esiste un comando duplicateButton?

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2002
    Messaggi
    2,929
    quando duplichi una clip duplichi tutto ciò che è al suo interno!!


    quindi metti il pulsante al suo interno e il problema è risolto

  9. #9
    Premettendo che uso Flash 5, come faccio a creare un pulsante tramite AS dentro un movieclip? E soprattutto, come faccio poi a riferirmi a quel pulsante, dato ke è possibile istanziare solo i movieclip?

  10. #10
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,628

    Re:

    Scusa ma...quello che vedi qua non è forse la stessa coa che hai fatto tu?
    http://www.diegocottino.it/sample.html

    Ci ho messo 2 minuti prendendo il caffè e senza nessun script...

    Poi forse mi sbaglio...

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.