Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    AS carica IMG e centra in stage (non sempre...!)

    Chiedo ancora il vs aiuto per questa cosa che non capisco!! e non riesco a risolvere!
    ho usato un'AS che purtroppo non ricordo dove ho trovato, che carica le immagini prendendole da una cartella, fa il preload, il fade-in/out e per navigare tra le immagini ci sono i pulsanti avanti e indietro. Le immagini vengono anche centrate in oriz e vert nello stage.
    E qui nasce il problema!!
    random, raramente, alcune immagini invece che centrate appaiono posizionate a caso nello stage!
    potete verificare voi stessi nella photogalleries del sito al quale ho applicato l'AS. qui link

    lo script, è il seguente: il .fla ha solo tre livelli e un frame:
    primo liv. "effettoAlfa", frame uno:
    codice:
    function alfaPiu() {
    	if (mc._alpha<99) {
    		mc._alpha += 10;
    	} else {
    		mc._alpha = 99;
    		clearInterval(b);
    		
    		(vediFoto == totFoto) ? avanti.enabled = false : avanti.enabled=true;
    		(vediFoto == totFoto) ? avanti._visible=0 : avanti._visible=1; //aggiunta
    		
    		(vediFoto == 1) ? indietro.enabled = false : indietro.enabled = true;
    		(vediFoto == 1) ? indietro._visible=0 : indietro._visible=1; //aggiunta
    	}
    }
    function alfaMeno() {
    	avanti.enabled = false;
    	indietro.enabled = false;
    	if (mc._alpha>0) {
    		mc._alpha -= 10;
    	} else {
    		clearInterval(c);
    		caricaFoto();
    		setProperty("barra", _visible, 1); //la barra di preload torna visibile
    	}
    }
    frame 2 "as loadIMG"
    codice:
    // Dimensione dello Stage
    StageLarg = 762;
    StageAlt = 768;
    cartella = "gallery/details/";
    
    function caricaFoto() {
    	imgEsterne.loadMovie(cartella+vediFoto+".jpg");
    	a = setInterval(preloadFOTO, 50);
    	perc = 0;
    }
    function preloadFOTO() {
    	car = imgEsterne.getBytesLoaded();
    	tot = imgEsterne.getBytesTotal();
    	larghezza = 310; //aggiunto
    	perc = Math.round((car*100)/tot);
    	loading.text = "Loading... " + perc + "%";
    	//Allungo la barra e la posiziono in modo fisso sull'asse X
    	setProperty("_level1.barra", _x, 134.5); //aggiunto
    	setProperty("_level1.barra", _xscale, (perc*larghezza)/100); //aggiunto
    	
    	if (car>1024) {
    		if (car == tot && _root.imgEsterne._width > 0) {
    			imgEsterne._x = (StageLarg-imgEsterne._width)/2;
    			imgEsterne._y = (StageAlt-imgEsterne._height)/2;
    			loading.text = "";
    			setProperty("barra", _visible, 0); //aggiunto
    			clearInterval(a);
    			b = setInterval(alfaPiu,50);
    		}
    	}
    }
    this.createEmptyMovieClip("imgEsterne", 1);
    imgEsterne._alpha = 0;
    mc = eval(imgEsterne);
    dati = new LoadVars();
    dati.load(cartella+"totfoto.txt");
    dati.onLoad = function() {
    	totFoto = this.totalefoto;
    	vediFoto = 1;
    	caricaFoto();
    };
    frame 3 "puls"
    codice:
    avanti.testoPuls.text = ">";
    indietro.testoPuls.text = "<";
    pulsanti = new Array("avanti","indietro");
    for(i=0;i<2;i++){
    	puls = eval(pulsanti[i]);
    	puls.onRollOver = function(){
    		this.testoPuls.textColor = 0xFFFF00;
    	}
    	puls.onRollOut = puls.onReleaseOutside = function(){
    		this.testoPuls.textColor = 0xFFFFFF;
    	}
    	puls.onRelease = function(){
    		(this._name=="avanti") ? vediFoto++ : vediFoto--;
    		this.testoPuls.textColor = 0xFFFFFF;
    		c = setInterval(alfaMeno,50);
    	}
    }
    Grazie per i consigli!!

  2. #2

  3. #3
    ...qualche genio che riesce a darmi una dritta??

  4. #4
    effettivamente lo fa in modo random è come se saltasse qualche controllo.

    io proverei a modificare questo:

    codice:
    if (car>1024) {
       if (car == tot && _root.imgEsterne._width > 0) {
    	imgEsterne._x = (StageLarg-imgEsterne._width)/2;
    	imgEsterne._y = (StageAlt-imgEsterne._height)/2;
    			loading.text = "";
    			setProperty("barra", _visible, 0); //aggiunto
    			clearInterval(a);
    			b = setInterval(alfaPiu,50);
    		}
    	}
    }
    in
    codice:
    if (car == tot && car>1024) {
           imgEsterne._x = (StageLarg-imgEsterne._width)/2;
           imgEsterne._y = (StageAlt-imgEsterne._height)/2;
    	loading.text = "";
    	setProperty("barra", _visible, 0); //aggiunto
    	clearInterval(a);
    	b = setInterval(alfaPiu,50);
    }
    sei certo che abbia finito il caricamento, che abbia un peso superiore di 1024 // decisamente la larghezza sarà sicuramente > 0

    Prova magari sbaglio.

    Ciao

  5. #5
    una domanda perchè dettagli è tutto gli swf mentre le altre categorie sono direttamente jpg ??

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.