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

    CAricamento jpg esterna in contenitore con preload

    Ciao a tutti.

    Premessa: di actionscript non non sono molto ferrato, anzi..

    Problema: utilizzando il codice che sotto riporto, riesco a caricare la mia immagine .jpg esterna all'interno del mio contenitore istanziato "foto". Il contenitore carica l'immagine ovviamente quando il cursore della timeline arriva in quel punto. Vorrei a questo punto associargli un bel preload in modo che tutto fili liscio.
    Ne ho visti diversi, di preload, ma vorrei mettergliene uno pulito e semplice magari che mi visualizzi un numero di percentuale sul caricamento.

    Qualcuno sarebbe così gentile da postarmi il codice corretto da associare al mio frame?

    Grazie per gli aiuti!

    ::: bertaz :::

    //Caricamento immagine nel contenitore "Foto"
    _root.foto.loadMovie("images/foto-goldenlady.jpg");

  2. #2
    allora fai un rettangolino senza bordi e premendo F8 chiamalo barra lo converti in clip filmato prima di dare l'ok controlla che l'orientamento del clip sia impostato in alto a sx e spunta la casellina con scritto esporta per action script.

    nel frame dove vuoi caricare la foto metti tale e quale:


    codice:
    preload = function(clip){
    	clip._alpha = 0;
    	_root.attachMovie("barra", "barra", 100);
    	_root.barra._x = 150; //qui metti la coordinata x dove voui che appaia la barra di caricamento
    	_root.barra._y = 380; //qui metti la coordinata y dove voui che appaia la barra di caricamento
    	car = clip.getBytesLoaded();
    	tot = clip.getBytesTotal();
    	perc = Math.floor((car/tot)*100);
            clip.createTextField("testo", 1, (this._width/2), (this._height/2), 200, 20);
    	clip.testo.wordWrap = true;
    	testoformat = new TextFormat();
    	testoformat.color = "0xffffff";
    	testoformat.font = "Arial";
    	testoformat.size = "14";
    	clip.testo._x = 150;
    	clip.testo._y = 400;
    	clip.testo.setTextFormat(testoformat); 
    	if(!isNaN(perc)){
    		_root.barra._xscale = perc;
                    clip.testo.text = "Caricamento..."+perc+"%";
    		clip.testo.setTextFormat(testoformat);
    	}
    	if(car >= tot && tot > perc && perc == 100){
    		clearInterval(a);
    		removeMovieClip(_root.barra);
    		clip._alpha = 100;
                    clip.testo.text = "";
    	}
    } 
    
    //richiami così
    _root.foto.loadMovie("images/foto-goldenlady.jpg");
    a = setInterval(preload, 50, _root.pos);

  3. #3
    Grazie mille sei stato gentilissimo,
    sembra che tutto funzioni ma riscontro ora due problemi:

    1. La figura della barra che ho disegnato mi rimane presente sopra la foto, sebbene io sono sicuro di averla eliminata dallo stage..

    2. Quando esporto il filmato a parte il punto 1) sembra che tutto funzioni, ma c'è un modo per vedere se effettivamente il codice è associato efficacemente al mio clip e quindi testare se la cosa funziona?

    Spero di essermi spiegato..

    Grazie e scusa se sono imbranato!
    bertaz

  4. #4
    1) dovrebbe dipendere dal fatto che lo stai provando offline
    2)se tu pubblichi il filmato con ctrl + invio

    e vai sul menu a tendina imposta scaricamento puoi impostare la velocità dsl..

    poi fa simula scaricamento

    in questa maniera puoi vedere se il preloader funziona grazie appunto all'opzione simula scaricamento

  5. #5
    ...allora, credo di aver risolto il punto 1)
    Nelle proprietà dell'oggetto barra, scegliendo "Linkage..." ho tolto la spunta da "export in first frame". E' giusto?? speriamo..

    Mi rimane il punto 2), cioè testare nell'esecuzione del movie l'effettivo funzionamento della barra e della percentuale anche perche le ho personalizzate cambiando colori e tipo di carattere del testo ad esempio...

    Arrigrazie per l'aiuto!

    Bertaz

  6. #6
    Originariamente inviato da eddydesigner

    2)se tu pubblichi il filmato con ctrl + invio

    e vai sul menu a tendina imposta scaricamento puoi impostare la velocità dsl..

    poi fa simula scaricamento

    in questa maniera puoi vedere se il preloader funziona grazie appunto all'opzione simula scaricamento

    ecco tutto

  7. #7
    ok perfetto
    ma se le foto da caricare nel contenitore sono più di una?

  8. #8
    s ele foto sono + di una rimane tutto uguale dove sotto a "//richiami così aggiungerai le altre foto":

    preload = function(clip){
    clip._alpha = 0;
    _root.attachMovie("barra", "barra", 100);
    _root.barra._x = 150; //qui metti la coordinata x dove voui che appaia la barra di caricamento
    _root.barra._y = 380; //qui metti la coordinata y dove voui che appaia la barra di caricamento
    car = clip.getBytesLoaded();
    tot = clip.getBytesTotal();
    perc = Math.floor((car/tot)*100);
    clip.createTextField("testo", 1, (this._width/2), (this._height/2), 200, 20);
    clip.testo.wordWrap = true;
    testoformat = new TextFormat();
    testoformat.color = "0xffffff";
    testoformat.font = "Arial";
    testoformat.size = "14";
    clip.testo._x = 150;
    clip.testo._y = 400;
    clip.testo.setTextFormat(testoformat);
    if(!isNaN(perc)){
    _root.barra._xscale = perc;
    clip.testo.text = "Caricamento..."+perc+"%";
    clip.testo.setTextFormat(testoformat);
    }
    if(car >= tot && tot > perc && perc == 100){
    clearInterval(a);
    removeMovieClip(_root.barra);
    clip._alpha = 100;
    clip.testo.text = "";
    }
    }

    //richiami così
    _root.foto1.loadMovie("images/foto-goldenlady1.jpg");
    _root.foto2.loadMovie("images/foto-goldenlady2.jpg");
    _root.foto3.loadMovie("images/foto-goldenlady3.jpg");
    _root.foto4.loadMovie("images/foto-goldenlady4.jpg");
    _root.foto5.loadMovie("images/foto-goldenlady23.jpg");
    _root.foto6.loadMovie("images/foto-goldenlady24.jpg");
    _root.foto7.loadMovie("images/foto-goldenlady213.jpg");
    a = setInterval(preload, 50, _root.pos);


    Quindi farai più contenitori quante sono le foto..



  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    243
    Ciao, la discussione è molto interessante, e forse ho trovato la soluzione al mio problemone.
    Ho provato anche io lo script ma evidentemente sono incapace io perchè ho alcuni problemi:
    1) le immagini nn si visualizzano totalmente (ma credo dipenda da alcune cose che ho sbagliato e credo di poter riparare)
    [risolto, è bastato dare le coordinate al clip]
    2) facendo la simulazione la barra mi rimane fissa (tenendo presente che nn ho fisicamente inserito la barra nel filmato, ma solo nella libreria, visto che mi sembra che lo script la richiami)
    [nella simulazione non ho la sensazione che questa faccia qualche tipo di caricamento]
    3) Non vedo il testo che mi dice a che punto sta il caricamento, premettendo che non ho creato alcun campo di testo, convinto del fatto che l'as se lo crea da se.
    Non è che potresti mettere un file d'esempio in modo che anche gli incapaci come me possano studiarlo?
    Ah una cosa, quel codice devo metterlo nel frame del mc che carica le immagini, oppure nella timeline principale?
    [io lo sto mettendo nei vari mc dove devono essere caricate le immagini, ma sarebbe meglio se si potesse farlo nel primo frame del filmato]
    Grazie mille!

  10. #10
    Utente di HTML.it
    Registrato dal
    Jun 2004
    Messaggi
    243
    Ciao ancora
    Ho fatto delle prove, e ho messo tutto il codice nel primo frame della timeline principale.
    Ora, dato che ho più foto (e premettendo che ho anche tutti gli altri mc) ho inserito questo codice:
    codice:
    preload = function(clip){ 
    clip._alpha = 0; 
    _root.attachMovie("barra", "barra", 100); 
    _root.barra._x = 150; //qui metti la coordinata x dove voui che appaia la barra di caricamento 
    _root.barra._y = 380; //qui metti la coordinata y dove voui che appaia la barra di caricamento 
    car = clip.getBytesLoaded(); 
    tot = clip.getBytesTotal(); 
    perc = Math.floor((car/tot)*100); 
    clip.createTextField("testo", 1, (this._width/2), (this._height/2), 200, 20); 
    clip.testo.wordWrap = true; 
    testoformat = new TextFormat(); 
    testoformat.color = "0xffffff"; 
    testoformat.font = "Arial"; 
    testoformat.size = "14"; 
    clip.testo._x = 150; 
    clip.testo._y = 400; 
    clip.testo.setTextFormat(testoformat); 
    if(!isNaN(perc)){ 
    _root.barra._xscale = perc; 
    clip.testo.text = "Caricamento..."+perc+"%"; 
    clip.testo.setTextFormat(testoformat); 
    } 
    if(car >= tot && tot > perc && perc == 100){ 
    clearInterval(a); 
    removeMovieClip(_root.barra); 
    clip._alpha = 100; 
    clip.testo.text = ""; 
    } 
    } 
    
    //richiami così 
    _root.clip1.foto1.loadMovie("foto1.jpg");
    _root.clip1.foto1._x=0;
    _root.clip1.foto1._y=0;
    _root.clip2.foto2.loadMovie("foto2.jpg"); 
    _root.clip2.foto2._x=0;
    _root.clip2.foto2._y=0;
    _root.clip3.foto3.loadMovie("foto3.jpg"); 
    _root.clip3.foto3._x=0;
    _root.clip3.foto3._y=0;
    _root.clip5.foto5.loadMovie("foto5.jpg"); 
    _root.clip5.foto5._x=0;
    _root.clip5.foto5._y=0;
    a = setInterval(preload, 50, _root.pos);
    Ora, la cosa strana (a parte il fatto che non vedo la barra, ma questo può essere dovuto alla velocità di caricamento in locale), è che la prima immagine va tranquillamente, le altre invece no!!
    Non capisco proprio a cosa può essere dovuto.
    L'unica cosa che ho aggiunto al codice sono le coordinate perchè altrimenti i mc mi appaiono male.
    Spero possiate aiutarmi, questo post mi sta salvando (anche i nervi ).
    Ciau!

    edito:
    aggiungendo che i vari mc sono posizionati in livelli diversi, ma non credo possa dipendere da questo.

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.