Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di lisa76
    Registrato dal
    Mar 2002
    Messaggi
    115

    preload di swf multipli

    ok la situazione è questa:
    ho un filmato principle. Questo ha uno stage vuoto e carica tutti i file dall'esterno (sfondo, menu, oggetti, ecc...)
    ho creato un file che userò come preload che prendo dalla libreria(chiamato 'pre') e vorrei caricare in sequenza i vari swf facendo un preload che mano mano mi indichi con il testo "lo stato" di caricamento, cioè scriva: carico lo sfondo...10%...carico il menu...20%...ecc...
    mi sono fermata al caricamento dello sfondo e non so come andare avanti.. ecco il codice che uso per caricare i filmati:

    codice:
    createEmptyMovieClip("ciccio", 2);
    ciccio.attachMovie('pre','prelo',2);
    
    preload = function(clip){
    	car = clip.getBytesLoaded();
    	tot = clip.getBytesTotal();
    	perc = Math.round((car*100)/tot);
    	ciccio.prelo.loading.text = "Carico lo sfondo . . .\t"+perc+"%";
    	ciccio.prelo.barra._xscale = perc;
    	if(car >= tot && tot >1024){
    		ciccio.prelo.barra._visible = 0;
    		ciccio.prelo.loading.text = "";
    		clip.onEnterFrame = function(){
    			this._alpha++;
    			if(this._alpha>=100){
    				delete this.onEnterFrame;
    			}
    		clip._x = 0;
    		clip._y = Stage.height - clip._height;
    		clearInterval(a);
    	}
    	}
    }
    ciccio.prelo.barra._xscale = 0;
    createEmptyMovieClip("sfondo", 1);
    sfondo.loadMovie ("bg3.jpg",1);
    sfondo._alpha = 0;
    ciccio.prelo.loading.text = "Caricamento in corso . . .";
    a = setInterval(preload, 50, sfondo);
    è corretto tutto questo?
    come posso caricare più swf in sequenza?
    qualche idea??
    lunico confine dell'immaginazione è il tempo, a volte c'è qualcuno che riesce a fermarlo.

  2. #2
    potresti usare setInterval()

    codice:
    a=0;
    clips = ['clip1','clip2','clip3']
    nomi = ['news.swf','home.swf','menu.swf']
    
    function caricaClip(){
    target = clips[a]
    clip = nomi[a]
    _root[target].loadMovie(clip)
    _root.a++
    }
    setInterval(caricaClip,1000)
    Interactive Html/CSS/JS Playground | @webbeloz ( cip..cip! )
    Mechanics & Expert Tuning Fix Z3 Roadster Community

  3. #3
    Utente di HTML.it L'avatar di lisa76
    Registrato dal
    Mar 2002
    Messaggi
    115
    mmm questo per caricarle in sequenza ma come gli applico il preload...
    lunico confine dell'immaginazione è il tempo, a volte c'è qualcuno che riesce a fermarlo.

  4. #4
    Utente di HTML.it L'avatar di lisa76
    Registrato dal
    Mar 2002
    Messaggi
    115
    UP!
    lunico confine dell'immaginazione è il tempo, a volte c'è qualcuno che riesce a fermarlo.

  5. #5
    prova ad inserire il codice nei fotogrammi successivi, adattandolo per i vari oggetti che devi caricare.
    Se hai creato una barra di loading puoi usare ad esempio

    //per resettare, ruotare,spostare,colorare la barra
    tuaLoadingBar.reset();
    tuaLoadingBar.setSize(300, 12);
    tuaLoadingBar.setLocation(230, Stage.height -20);
    tuaLoadingBar.setRotation(-90);
    tuaLoadingBar.setColors(0xff6600, 0xff6600, 0xff6600, 0xff9999);
    tuaLoadingBar.setLoadTarget(tuo target);

    all' inizio del frame

    stop();

    alla fine:

    tuavariabile.onLoadingDone = function() {
    _root.gotoAndStop(3);
    }
    oppure gotoAndPlay(3);

  6. #6
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,322
    caricamento clip in sequenza



    codice:
    sequenzaclips = new Array("unos", "dues", "tres");
    info = new Array("Caricamento Sfondo", "Alabarda Spaziale", "Lame rotanti");
    this.createTextField("testoinfo", 20, 300, 100, 200, 40);
    function carica(x) {
    	this.createEmptyMovieClip("caricatore"+x, x);
    	this["caricatore"+x].loadMovie(sequenzaclips[x]+".swf");
    	this.onEnterFrame = function() {
    		car = this["caricatore"+x].getBytesLoaded();
    		tot = this["caricatore"+x].getBytesTotal();
    		dif = int(car/tot*100);
    		this.testoinfo.text = this.info[x]+"..."+dif+"%";
    		trace(dif);
    		if (tot != undefined) {
    			if (car>=tot and car>1024) {
    				delete this.onEnterFrame;
    				x++;
    				if (x<sequenzaclips.length) {
    					carica(x);
    				}
    			}
    		}
    	};
    }
    carica(0);

  7. #7
    Utente di HTML.it L'avatar di lisa76
    Registrato dal
    Mar 2002
    Messaggi
    115
    perfetto, funziona tutto a dovere!
    ma lo sfondo però è una img non un swf
    Che faccio creo un swf che a sua volta carica lo sfondo?
    inoltre prima avevo fatto in modo che una volta caricata l'immaigne questa comparisse in alfa piano piano...
    lunico confine dell'immaginazione è il tempo, a volte c'è qualcuno che riesce a fermarlo.

  8. #8
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,322
    Originariamente inviato da lisa76
    perfetto, funziona tutto a dovere!
    ma lo sfondo però è una img non un swf
    Che faccio creo un swf che a sua volta carica lo sfondo?
    inoltre prima avevo fatto in modo che una volta caricata l'immaigne questa comparisse in alfa piano piano...
    no
    cambi lo script che ti ho dato con questo




    sequenzaclips = new Array("unos.jpg", "dues.swf", "tres.swf");
    info = new Array("Caricamento Sfondo", "Alabarda Spaziale", "Lame rotanti");
    this.createTextField("testoinfo", 20, 300, 100, 200, 40);
    function carica(x) {
    this.createEmptyMovieClip("caricatore"+x, x);
    this["caricatore"+x].loadMovie(sequenzaclips[x]);
    this.onEnterFrame = function() {
    car = this["caricatore"+x].getBytesLoaded();
    tot = this["caricatore"+x].getBytesTotal();
    dif = int(car/tot*100);
    this.testoinfo.text = this.info[x]+"..."+dif+"%";
    trace(dif);
    if (tot != undefined) {
    if (car>=tot and car>1024) {
    delete this.onEnterFrame;
    x++;
    if (x<sequenzaclips.length) {
    carica(x);
    }
    }
    }
    };
    }
    carica(0);

  9. #9
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,322
    septetta che non avevo letto la tua ultima parte
    modifico e poi ri-posto

  10. #10
    Utente bannato
    Registrato dal
    Mar 2002
    Messaggi
    1,322
    ecco


    codice:
    sequenzaclips = new Array("unos.jpg", "dues.swf", "tres.swf");
    info = new Array("Caricamento Sfondo", "Alabarda Spaziale", "Lame rotanti");
    this.createTextField("testoinfo", 20, 300, 100, 200, 40);
    
    function carica(x) {
    	this.createEmptyMovieClip("caricatore"+x, x);
    	this["caricatore"+x].loadMovie(sequenzaclips[x]);
    	this.onEnterFrame = function() {
    		car = this["caricatore"+x].getBytesLoaded();
    		tot = this["caricatore"+x].getBytesTotal();
    		dif = int(car/tot*100);
    		this["caricatore"+x]._alpha=0
    		this.testoinfo.text = this.info[x]+"..."+dif+"%";
    		//trace(dif);
    		if (tot != undefined) {
    			if (car>=tot and car>1024) {
    				
    								this["caricatore"+x].onEnterFrame=function(){
    									this._alpha+=5
    									trace("mao")
    									if(this._alpha>100){
    										
    										delete this.onEnterFrame
    									}
    								}
    								
    				delete this.onEnterFrame;
    				//this["caricatore"+x]._y=50*x;
    				x++;
    				if (x<sequenzaclips.length) {
    					carica(x);
    				}
    			}
    		}
    	};
    }
    carica(0);

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.