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

    Problema con image scaling

    Mi sapreste spiegare come mai al primo click sulla thumb l'immagine si apre non scalata, e alle successive si?

    Il link e' questo: Scroll Image

    grazie 1000

  2. #2
    Bisognerebbe vedere il codice.

  3. #3
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    perchè dai le dimensioni al clip prima che l'immagine venga caricata, dovresti verificare dopo il loadMovie che l'immagine sia caricata e solo a quel punto dargli le indicazioni sulla dimensione
    codice:
    if (MovieClip.getBytesLoaded() == MovieClip.getBytesTotal()){
    MovieClip._width = 560; //valore a caso
    MovieClip._height = 420; //valore a caso
    }

  4. #4
    Faccio una roba del genere quando clikko sulla thumb piccola:

    codice:
    	this.onRelease = function() {
    		trace("MouseUP "+this);
    		trace("Showiging "+this.index);
    	
    		_root.mainImg.loadMovie(file[this.index]);
    		_root.mainImg._visible = false;
    		
    		while(_root.mainImg.getBytesLoaded()<_root.mainImg.getBytesTotal())
    		{}
    	
    		_root.mainImg._visible = true;
    		_root.mainImg._width = 400;
    		_root.mainImg._height = 300;
    		
    		_root.mainImg._x = bigX;
    		_root.mainImg._y = bigY;
    		
    		
    	};
    Ma non funziona, cioe' la prima non me la scala

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    se è così come l'hai postato, hai sbagliato nel while a mettere la parentesi finale, prova se così cambia la questione
    codice:
    this.onRelease = function() {
    		trace("MouseUP "+this);
    		trace("Showiging "+this.index);
    	
    		_root.mainImg.loadMovie(file[this.index]);
    		_root.mainImg._visible = false;
    		
    		while(_root.mainImg.getBytesLoaded()<_root.mainImg.getBytesTotal())
    		{
    	
    		_root.mainImg._visible = true;
    		_root.mainImg._width = 400;
    		_root.mainImg._height = 300;
    		
    		_root.mainImg._x = bigX;
    		_root.mainImg._y = bigY;
    		} //ecco dove va la parentesi del while
    		
    	};

  6. #6
    Ma cosi' continuo ad assegnare le stesse proprieta'. Non e' la stesssa cosa fare un while vuoto e quando esce assegnare?

    ciao

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da cialz
    Ma cosi' continuo ad assegnare le stesse proprieta'. Non e' la stesssa cosa fare un while vuoto e quando esce assegnare?

    ciao
    no, il while usato in quel modo determina un ciclo per cui finchè non è vera la condizione tra parentesi, il codice all'interno delle graffe non viene eseguito e viene eseguito il blocco di azioni successivo, ecco perchè la seconda volta che clicchi la foto si adatta , mentre la prima no

  8. #8
    Ma allora in Action Script il while funziona al contrario del C++?

    Cioe' nel c++ il while lavora finche' e' vera la condizione tra parentesi.

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da cialz
    Ma allora in Action Script il while funziona al contrario del C++?

    Cioe' nel c++ il while lavora finche' e' vera la condizione tra parentesi.
    a meno che io non abbia travisato la guida, questo è quello che ho letto

    io poi personalmente uso l'if con setInterval per fare la verifica di cui sopra perciò non ho mai usato per questo scopo un ciclo

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    codice:
    dimensiona = function(clip, width, height){
    	car = clip.getBytesLoaded();
    	tot = getBytesTotal();
    	if (car >= tot){
    		clearInterval(a);
    		clip._width = width;
    		clip._height = height;
    		clip._visible = true; 
    		clip._x = bigX;
    		clip._y = bigY;
    	}
    }
    
    this.onRelease = function() {
    	trace("MouseUP "+this);
    	trace("Showiging "+this.index);
    	_root.mainImg.loadMovie(file[this.index]);
    	_root.mainImg._visible = false;
    	a= setInterval(dimensiona, 50,_root.mainImg, 400, 300);
    };

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.