Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    200

    Problema con Preload di JPG

    Sapete dirmi cosa c'e di sbagliato in questo codice?

    _root.preload.onLoad = function() {
    image = new Array();
    image[0] = "img/img1.jpg";
    image[1] = "img/img2.jpg";
    image[2] = "img/img3.jpg";
    image[3] = "img/img4.jpg";
    image[4] = "img/img5.jpg";
    image[5] = "img/img6.jpg";
    i = random(6);
    _root.clip.image.loadMovie(image[i]);
    _root.stop();
    };
    myjpg = image[i];
    _root.preload.onEnterFrame = function() {
    tot1 = _root.getBytesTotal();
    tot2 = myjpg.getBytesTotal();
    car1 = _root.getBytesLoaded();
    car2 = myjpg.getBytesLoaded();
    tot = tot1+tot2;
    car = car1+car2;
    if (car != undefined) {
    if (tot == car) {
    _root.gotoAndPlay("home");
    }
    }
    };




    è un preload che carica il file.swf e contemporanemaente la jpg, ke viene scelta a caso col il random, all'interno di clip.image

    il preload nn funziona, va direttamente ad "home" senza attendere il caricamento della jpeg (che poi viene visualizzata correttamente)


    ho provato ad usare anche _root.clip.image.getBytesTotal(); al posto della variabile ma nn funziona niente!!!

    Qualche aiuto.


    Grazie

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    codice:
    _root.preload.onLoad = function()
    {
    	image = new Array();
    	image[0] = "img/img1.jpg";
    	image[1] = "img/img2.jpg";
    	image[2] = "img/img3.jpg";
    	image[3] = "img/img4.jpg";
    	image[4] = "img/img5.jpg";
    	image[5] = "img/img6.jpg";
    	i = random(6);
    	// se image è solo l'array, e carichi
    	// l'immagine nel movieclip "clip"
    	_root.clip.loadMovie(image[random(image.length)]);
    	_root.stop();
    };
    _root.preload.myjpg = _root.clip;
    _root.preload.onEnterFrame = function()
    {
    	var tot1 = _root.getBytesTotal();
    	var tot2 = this.myjpg.getBytesTotal();
    	var car1 = _root.getBytesLoaded();
    	var car2 = this.myjpg.getBytesLoaded();
    	var tot = tot1 + tot2;
    	var car = car1 + car2;
    	if (car != undefined) {
    		if (tot == car) {
    			_root.preload.onEnterFrame = undefined;
    			_root.gotoAndPlay("home");
    		}
    	}
    };
    da provare

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    200
    Originariamente inviato da negatyve
    // se image è solo l'array, e carichi
    // l'immagine nel movieclip "clip"
    no, image è un mc dentro clip: _root.clip.image

    mi sono poi accorto di aver dato lo stesso nome "image" sia al mc target delle jpg che all'array, nn so se sia un problema ma nel dubbio ho cambiato il nome all'array in "myimage"

    niente da fare l'animazione parte senza aspettare la jpg.

    scusa una curiosita ma su getBytesLoaded(); e getBytesTotal(); oltre alla _root devo specificare il percorso del mc target in cui viene caricata la jpg o quello della jpg da caricare, ho provato in entrambi i modi ma niente.

    Ciao

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    >scusa una curiosita ma su getBytesLoaded(); e getBytesTotal(); oltre
    >alla _root devo specificare il percorso del mc target in cui viene
    >caricata la jpg o quello della jpg da caricare, ho provato in
    >entrambi i modi ma niente.

    del mc target in cui viene caricata la jpg

    quindi adesso dovresti avere:

    codice:
    _root.preload.onLoad = function()
    {
    	myimage= new Array();
    	myimage[0] = "img/img1.jpg";
    	myimage[1] = "img/img2.jpg";
    	myimage[2] = "img/img3.jpg";
    	myimage[3] = "img/img4.jpg";
    	myimage[4] = "img/img5.jpg";
    	myimage[5] = "img/img6.jpg";
    	_root.clip.image.loadMovie(myimage[random(myimage.length)]);
    	_root.stop();
    };
    _root.preload.myjpg = _root.clip.image;
    _root.preload.onEnterFrame = function()
    {
    	var tot1 = _root.getBytesTotal();
    	var tot2 = this.myjpg.getBytesTotal();
    	var car1 = _root.getBytesLoaded();
    	var car2 = this.myjpg.getBytesLoaded();
    	var tot = tot1 + tot2;
    	var car = car1 + car2;
    	if (car != undefined) {
    		if (tot == car) {
    			_root.preload.onEnterFrame = undefined;
    			_root.gotoAndPlay("home");
    		}
    	}
    };
    d'altronde, dovresti verificare che il movieclip sia "esistente" nel momento in cui carichi l'immagine..

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    200
    Originariamente inviato da negatyve
    quindi adesso dovresti avere:

    codice:
    _root.preload.onLoad = function()
    {
    	myimage= new Array();
    	myimage[0] = "img/img1.jpg";
    	myimage[1] = "img/img2.jpg";
    	myimage[2] = "img/img3.jpg";
    	myimage[3] = "img/img4.jpg";
    	myimage[4] = "img/img5.jpg";
    	myimage[5] = "img/img6.jpg";
    	_root.clip.image.loadMovie(myimage[random(myimage.length)]);
    	_root.stop();
    };
    _root.preload.myjpg = _root.clip.image;
    _root.preload.onEnterFrame = function()
    {
    	var tot1 = _root.getBytesTotal();
    	var tot2 = this.myjpg.getBytesTotal();
    	var car1 = _root.getBytesLoaded();
    	var car2 = this.myjpg.getBytesLoaded();
    	var tot = tot1 + tot2;
    	var car = car1 + car2;
    	if (car != undefined) {
    		if (tot == car) {
    			_root.preload.onEnterFrame = undefined;
    			_root.gotoAndPlay("home");
    		}
    	}
    };
    esattamente lo stesso codice che ho provato ma niente da fare.

    _root.clip
    ha al suo interno sia "cornice" che "image"
    la cornice viene visualizzata molto prima successivamente, sotto viene caricata "image" con la jpg all'interno

    ho paura che il preload verifichi solo se il mc "image" è stato caricato senza considerare che all'interno c'è anche una jpg da caricare.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2003
    Messaggi
    200
    Ho risolto!

    credo sia come pensavo, il preload forse nn capisce che c'e da caricare una jpg, probabilmente vede solo il mc "image"
    Ho provato a inserire nel primo frame la funzione "onLoad" e nel secondo frame la funzione "onEnterFrame", in questo modo funziona!
    nn so se la spiegazione che ho dato sia quella esatta!


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.