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

    Preload di immagini da un array

    Salve a tutti, forse il titolo non è molto esplicativo, ma francamente non avevo idea di come spiegarlo in 4 parole
    Detto in parole povere, io ho un array che contiene l'url di varie immagini
    codice:
    _root.ProdImgArr = new Array("ImgProva/01-polo-wenge-gen.jpg","ImgProva/01-polo-wenge-part1.jpg",...etc);
    e vorrei fare in modo che non vengano tutte caricate di botto, ma caricata una per volta, in pratica carica la prima, poi la seconda, poi la terza e così via...
    Ho provato a fare questo script

    codice:
    _global.Showfoto = function(){
    	if(_root.Z == undefined){
    		_root.Z = 0;
    	}
    	if(_root.Z < (_root.ProdImgArr.length) && _root.Z >= -1){
    		Z2 = _root.Z+1;
    		_root.ProdottiBarra.duplicateMovieClip("Image"+Z2,Z2);
    		eval("Image"+Z2)._x = 90*Z2;
    		eval("Image"+Z2).Foto._alpha = 0;
    		trace(eval("Image"+Z2).Foto._alpha);
    		eval("Image"+Z2).Foto.loadMovie(_root.ProdImgArr[Z]);		
    		Fun = setInterval(CaricaFoto,200,eval("Image"+Z).Foto)
    	}
    }
    _global.CaricaFoto = function(target){
    	car = target.getBytesLoaded();
    	tot = target.getBytesTotal();
    	if(car == tot){
    		target._alpha = 100;
    		clearInterval(Fun);
    		_root.Z++;
    		Showfoto();
    	}
    }
    Showfoto();
    io ho l'mc ProdottiBarra.Image, che contiene uno sfondo grigio e un mc vuoto chiamato Foto, lo script dovrebbe caricare l'immagine in quest'ultimo mc vuoto, solo che lo script mi duplica l'mc ProdottiBarra.Image, ma non mi mette l'immagine nel mc Foto contenuto sull'mc Image. Perchè?

  2. #2

  3. #3
    ho risolto così
    codice:
    _global.Showfoto = function(){
    	if(_root.Z == undefined){
    		_root.Z = 0;
    	}
    	if(_root.Z < (_root.ProdImgArr.length) && _root.Z >= -1){
    		Z2 = _root.Z+1;
    		_root.ProdottiBarra.Image.duplicateMovieClip("Image"+Z2,Z2);
    		my_mc = _root.ProdottiBarra["Image"+Z2];	
    		my_mc._y = 200;
    		my_mc._x = 90*Z2;
    		my_mc.Foto._alpha = 0;		
    		my_mc.Foto.loadMovie(_root.ProdImgArr[Z]);			
    		if(Fun != undefined){
    			clearInterval(Fun); 
    		}
    		Fun = setInterval(CaricaFoto,200,my_mc.Foto)
    	}
    }
    _global.CaricaFoto = function(target){
    	car = target.getBytesLoaded();
    	tot = target.getBytesTotal();
    	if(car == tot){
    		target._alpha = 100;
    		target.gotoAndPlay(2);
    		clearInterval(Fun);
    		_root.Z++;
    		Showfoto();
    	}
    }

  4. #4
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    _root.ProdottiBarra["Image"+Z2].Foto.loadMovie(_root.ProdImgArr[Z]);

  5. #5
    allora, il tutto si è evoluto a questo
    codice:
    //questa funzione crea lo sfondo per ogni foto
    _global.ShowBase = function(Arr,LineMC){
    	if(_root.ZBase == undefined){
    		_root.ZBase = 0;
    	}	
    	if(_root.ZBase < Arr.length && _root.ZBase >= -1){	
    		_root.Prodotti_01[LineMC].ShowItems["MiniCover"+ZBase].removeMovieClip()
    		_root.Prodotti_01[LineMC].ShowItems.MiniCover.duplicateMovieClip("MiniCover"+ZBase,ZBase);
    		my_mc = _root.Prodotti_01[LineMC].ShowItems["MiniCover"+ZBase];
    		my_mc._y = 31;
    		my_mc._x = 42.5+(95*ZBase);
    		_root.ZBase++;
    	} else {
    		clearInterval(_root.Prodotti_01.ShowBaseInt);
    	}
    }
    //questa funzione crea un mc vuoto in cui inserire una foto
    _global.ShowMiniProd = function(Arr,LineMC){
    	if(_root.Z == undefined){
    		_root.Z = 0;
    	}
    	if(_root.Z < Arr.length && _root.Z >= -1){
    		Z2 = _root.Z+1;
    		_root.Prodotti_01[LineMC].ShowItems.createEmptyMovieClip("Miniatura"+Z2,(Z2+50))
    		my_mc = _root.Prodotti_01[LineMC].ShowItems["Miniatura"+Z2];	
    		my_mc._y = 0;
    		my_mc._x = 95*Z;
    		my_mc._alpha = 0;		
    		my_mc.loadMovie("Images/Miniatura/"+Arr[Z]);			
    		if(Fun != undefined){
    			clearInterval(Fun); 
    		}
    		Fun = setInterval(CaricaMiniProd,200,my_mc,Arr,LineMC)
    	}
    }
    //questa funzione carica le foto
    _global.CaricaMiniProd = function(target,Arr,LineMC){
    	car = target.getBytesLoaded();
    	tot = target.getBytesTotal();
    	if(car == tot){
    		target._alpha = 100;	
    		clearInterval(Fun);
    		_root.Z++;
    		ShowMiniProd(Arr,LineMC);
    	}
    }
    in pratica io questa funzione non la uso una sola volta, ma più volte, ovvero ho varie categorie, e ognuna di queste ha la sua sfilza di miniature. Quello che succede a me è che la prima volta mi va tutto ok, e mi fa vedere tutte le miniature (ad esempio 4 foto), ma se vado in un'altra categoria, e mettiamo che ne abbia 5 di foto, non mi fa vedere tutte e 5 le foto ma solo l'ultima (5 - 4 della categoria precedente). Ho provato a mettere una funzione che mi cancellasse tutti gli mc creati precedentemente
    codice:
    _global.ClearMcs = function(LineMC){
    	for(CS = 0; CS < 101; CS++){
    		//_root.Prodotti_01[LineMC].ShowItems["MiniCover"+CS].removeMovieClip();
    		//_root.Prodotti_01[LineMC].ShowItems["Miniatura"+CS].removeMovieClip();
    	}
    }
    ma niente, fa la stessa identica cosa. Qualcuno mi sa aiutare?

  6. #6

  7. #7

  8. #8

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.