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

    caricamento immagini ridimensionate in serie

    Ciao
    Ho questo codice che uso per caricare N immagini in una galleria

    codice:
    function load_img() {
    	for (k=0; k<Nrighe; k++) {
    		for (i=1; i<=Nfile; i++) {
    			img = "img/thumb_foto"+ID+".jpg"
    			this.createEmptyMovieClip("box"+ID, ID);
    			mc = this["box"+ID];
    			imagine_mc = mc.createEmptyMovieClip("cont_mc", 1);
    			imagine_mc._x = 75*i;
    			imagine_mc._y = (75*k)+50;
    			imagine_mc.loadMovie(img);
    			mc._alpha = 40;
    			this.onEnterFrame = function() {
    				
    				if (imagine_mc.getBytesLoaded()>16 && imagine_mc.getBytesLoaded() == imagine_mc.getBytesTotal()) {
    					dimensiona(imagine_mc._width, imagine_mc._height);
    					delete this.onEnterFrame;
    				}
    			};
    			mc.onRelease = function() {
    				var img_value = this._name.substring(3);
    				carica(img_value);
    				this._alpha = 100;
    				pressed = true;
    			};
    			mc.onRollOver = function(){
    				if(this._alpha != 100){
    					this._alpha = 99;
    					pressed = false;
    				}
    			}
    			mc.onRollOut = function(){
    				this.onEnterFrame = function(){
    					if(this._alpha < 100 && this._alpha > 40){
    						this._alpha -= 10;
    					}else if(this._alpha == 100){
    						this._alpha == 100;
    						delete this.onEnterFrame;
    					}else{
    						this._alpha = 40;
    						delete this.onEnterFrame;
    					}
    				}
    			}
    			ID++;
    			if (ID == (Nfile*Nrighe+1)) {
    				return false;
    			}
    		}
    	}
    }
    ..........
    
    function dimensiona(larg, alt) {
    	trace("ciao");
    	imagine_mc._xscale = Math.floor(5000/larg);
    	imagine_mc._yscale = Math.floor(5000/alt);
    	imagine_mc._alpha = 100;
    	imagine_mc.onEnterFrame = function() {
    		if (this._alpha<=100 && this._alpha > 50) {
    			this._alpha -= 10;
    		} else {
    			this._alpha = 50;
    			delete this.onEnterFrame;
    		}
    	};
    }
    load_img();
    Il problema è che non riesco a far ridimensionare le immagini, perchè non entra mai nell'if dell'onEnterFrame della prima funzione.

    Mi aiutate a risolvere il problema? Grazie

  2. #2

    Re: caricamento immagini ridimensionate in serie

    Originariamente inviato da christian78
    Ciao
    Ho questo codice che uso per caricare N immagini in una galleria

    codice:
    function load_img() {
    	for (k=0; k<Nrighe; k++) {
    		for (i=1; i<=Nfile; i++) {
    			img = "img/thumb_foto"+ID+".jpg"
    			this.createEmptyMovieClip("box"+ID, ID);
    			mc = this["box"+ID];
                            trace (mc)
    			imagine_mc = mc.createEmptyMovieClip("cont_mc", 1);
    			imagine_mc._x = 75*i;
    			imagine_mc._y = (75*k)+50;
    			imagine_mc.loadMovie(img);
    			mc._alpha = 40;
    			this.onEnterFrame = function() {
    				
    				if (imagine_mc.getBytesLoaded()>16 && imagine_mc.getBytesLoaded() == imagine_mc.getBytesTotal()) {
    					dimensiona(imagine_mc._width, imagine_mc._height);
    					delete this.onEnterFrame;
    				}
    			};
    			mc.onRelease = function() {
    				var img_value = this._name.substring(3);
    				carica(img_value);
    				this._alpha = 100;
    				pressed = true;
    			};
    			mc.onRollOver = function(){
    				if(this._alpha != 100){
    					this._alpha = 99;
    					pressed = false;
    				}
    			}
    			mc.onRollOut = function(){
    				this.onEnterFrame = function(){
    					if(this._alpha < 100 && this._alpha > 40){
    						this._alpha -= 10;
    					}else if(this._alpha == 100){
    						this._alpha == 100;
    						delete this.onEnterFrame;
    					}else{
    						this._alpha = 40;
    						delete this.onEnterFrame;
    					}
    				}
    			}
    			ID++;
    			if (ID == (Nfile*Nrighe+1)) {
    				return false;
    			}
    		}
    	}
    }
    ..........
    
    function dimensiona(larg, alt) {
    	trace("ciao");
    	imagine_mc._xscale = Math.floor(5000/larg);
    	imagine_mc._yscale = Math.floor(5000/alt);
    	imagine_mc._alpha = 100;
    	imagine_mc.onEnterFrame = function() {
    		if (this._alpha<=100 && this._alpha > 50) {
    			this._alpha -= 10;
    		} else {
    			this._alpha = 50;
    			delete this.onEnterFrame;
    		}
    	};
    }
    load_img();
    Il problema è che non riesco a far ridimensionare le immagini, perchè non entra mai nell'if dell'onEnterFrame della prima funzione.

    Mi aiutate a risolvere il problema? Grazie

    Prova a fare un trace come ho scritto sopra.. che ti dà?
    Cmq così a occhio mi sà che usi ID (da dove viene?) al posto di i ..
    dai diamanti non nasce niente dal letame nascono i fior
    UNGAWA! Tiki Bar
    Villa Camerini

  3. #3
    lo definisco prima della funzione:
    codice:
    var pressed:Boolean = false;
    var Nfile:Number = 11;
    var Nrighe:Number = 20;
    var ID:Number = 1;
    var img:String;
    il trace ho provato a farlo anch'io e viene giusto:

    _level0.box1
    _level0.box2
    _level0.box3
    ecc.

    il trace di image_mc è:

    _level0.box1.cont_mc
    _level0.box2.cont_mc
    _level0.box3.cont_mc
    ecc.

  4. #4
    Hai ragione scusami non avevo visto che poi incrementavi ID..

    la condizione dell'if è tagliata... qual'è il codice completo che usi?
    dai diamanti non nasce niente dal letame nascono i fior
    UNGAWA! Tiki Bar
    Villa Camerini

  5. #5
    Originariamente inviato da adrenokromo
    Hai ragione scusami non avevo visto che poi incrementavi ID..

    la condizione dell'if è tagliata... qual'è il codice completo che usi?
    come tagliata? non ti esce la barra di scorrimento in basso?

  6. #6
    ero su mac con camino e non vedevo la barra.. ora sono tornaao al buon FF e tutto ok..!

    Cmq non saprei.. il codice sembra giusto..
    L'unica cosa che mi viene da chiederti è il perchè di sto controllo

    Codice PHP:
    imagine_mc.getBytesLoaded()>16 && 
    Se lo togli funge?
    dai diamanti non nasce niente dal letame nascono i fior
    UNGAWA! Tiki Bar
    Villa Camerini

  7. #7
    il fatto è che se faccio un trace di imagine_mc.getBytesLoaded() come output ho undefined

  8. #8
    Però scusami non avevo notato una cosa..

    Il codice è corretto sintatticamente ma logicamente è sbagliato: infatti devi incrementare ID una volta che la prima immagine è caricata al 100%.. è a quel punto che devi caricare quella seguente..

    facendo come fai tu invece l'img successiva viene caricata quando ancora non è finito il caricamento della precedente.. ergo: si incarta tutto



    Prova a buttare giù del codice che magari poi vediamo di uscirne.. cmq il problema è lì..
    dai diamanti non nasce niente dal letame nascono i fior
    UNGAWA! Tiki Bar
    Villa Camerini

  9. #9
    al momento non ho la possibilità di modificare il codice....ma tu dici che se l'incremento lo sposto e lo inserisco nella funzione "dimensiona" oppure se lo sposto nell'if dopo il delete onenterframe dovrebbe funzionare?

    Thx!

  10. #10
    Originariamente inviato da christian78
    al momento non ho la possibilità di modificare il codice....ma tu dici che se l'incremento lo sposto e lo inserisco nella funzione "dimensiona" oppure se lo sposto nell'if dopo il delete onenterframe dovrebbe funzionare?

    Thx!
    Non funziona...ID rimane sempre =1 durante il ciclo...idee

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.