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

Discussione: Preload crasha !

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    153

    Preload crasha !

    era un pò che ne sospettavo, ma ora sembra che sia proprio il preload a far bloccare il mio maledetto sito....dunque


    per prima cosa prelevo da php un tot di foto, poi mi duplico un movieclip/pulsante per il numero di foto da visualizzare.

    Carico su ogni copia la foto corrispondente e al click su ognuna ci assegno un loadmovie di un altro movieclip nel quale si visualizza la foto con un altra dimensione..


    per variare questa dimensione uso un preload del genere nell'onclik sulla foto piccola(preso tra l'altro da uno dei vecchi thread) :

    function preload() {

    //dati caricati
    var car = _root.foto.getBytesLoaded();
    //dati totali da caricare
    var tot = _root.foto.getBytesTotal();
    if (car>=tot) {
    if (_root.foto._width>0 && _root.foto._height>0) {

    _root.foto._width = 300;
    _root.foto._height = 240;
    //ricorda di eliminare il setInterval altrimenti l'immagine continua a rimpicciolire ad ogni passaggio
    clearInterval(r);
    }
    }

    // richiamo la funzione ogni tot di tempo
    r = setInterval(preload, 100);

    }



    finche rimango nella pagina nessun problema, quando clikko sul pulsante "indietro" (un semplice gotoandplay) il filmato si blocca quasi subito !!!


    come mai ? please, è un problemone !!

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    devi bloccare il setInterval, anche dal pulsante, con clearInterval(r);

    es.

    on(press){
    clearInterval(r);
    }
    on(release){
    gotoAndPlay(1);
    }

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    153
    io DEVO offrirti una birra.




  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da pasqui11
    io DEVO offrirti una birra.





  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    153
    un altra domanda, con il codice attuale le immagini vengono visualizzate correttamente, il problema è che se passo da una foto all'altra piuttosto rapidamente crasha tutto....considerando che un problema di risorse hardware non è, pensate che sia il preload (magari non è ancora ottimizzato, non so) a creare questo problema ?

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    153
    AAAAAAHHHHHH !!!


    credevo di aver risolto e invece...prvando con immagini un pò diverse l'errore si ripresenta...


    come posso inserire nella funzione di prima di preload un comando che appena il ridimesionamento è avvenuto si stoppi il preload ?


    (probabilmente si blocca perchè il codice per fermarlo è associato ad un pulsante e se non lo premo il ciclo continua)

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    in realtà nel codice che hai postato, l'intervallo viene bloccato
    probabilmente il problema del crash è dovuto ad altri fattori

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    153
    è strano perhcè se dopo la dichiarazione della funzione metto un semplice trace("ok")


    e clicco sulla foto (on release=function(){ preload() }) in output mi arriva una serie ininterrotta di "ok", almeno fino a che non clicco su un pulsante con il clear interval...

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    prova a modificare la tua funzione così

    codice:
    function preload() {
    	if(r != undefined && r >= 1){
    		clearInterval(r);
    	}
    	var r = setInterval(function(){
    			var car = _root.foto.getBytesLoaded();
    			var tot = _root.foto.getBytesTotal();
    			if (car>=tot) {
    				clearInterval(r);
    				if (_root.foto._width>0 && _root.foto._height>0) {
    					_root.foto._width = 300;
    					_root.foto._height = 240;
    				}
    			}, 100);
    }
    con il codice precedente avevi un loop che ricreava l'intervalID ad ogni richiamo della funzione stessa, con la conseguenza di bloccare tutto, ogni volta

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    153
    ehm cè un errorino di sintassi, virgola imprevista...

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.