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

    Dovrei usarla su un altro fotogramma

    Uso questo codice x caricare una foto esterna in un contenitore sullo stage:
    function carica(filmato, target) {
    attachMovie('barra','barra',1);
    _root.foto_mc.barra._xscale = 0;
    _root.foto_mc.barra._y = 37;
    _root.foto_mc.barra._x = 2;
    this.loadMovie(filmato);
    onEnterFrame = function () {
    caricati = this.getBytesLoaded();
    totali = this.getBytesTotal();
    _root.foto_mc.barra._xscale = 100*caricati/totali;
    if (caricati == totali && totali>100) {
    removeMovieClip('barra');
    delete onEnterFrame;
    trace("loaded");
    }
    }
    };
    carica("images/01.jpg", "foto");


    tramite un semplice pulsante mi sposto sul fotogramma successivo nel quale mi servirebbe caricare la seconda foto con lo stesso sistema, ma non funziona!!
    Ho provato l'impossibile ma non ci sono riuscito.
    mi date una mano??
    ciaoooooo

  2. #2
    nella tua funzione ci sono alcune cose che non mi sono chiare

    dove fai l'attachMovie su _root ??poi scrivi fot_mc e passi il parametro "foto" ??
    io la scriverei così

    codice:
    function carica(filmato) { 
        this.foto_mc.attachMovie("barra","barra",1)
        this.foto_mc.barra._xscale = 0; 
        this.foto_mc.barra._x = 2; 
        this.foto_mc.barra._y = 37; 
    
        this.foto_mc.foto.loadMovie(filmato);
        this.foto_mc.foto._alpha=0 
        // attenzione foto è un clip dentro foto_mc     
    
        this.foto_mc.onEnterFrame = function () { 
             car = this.foto.getBytesLoaded(); 
             tot = this.foto.getBytesTotal(); 
             if(car > 1024 && car==tot){
                // caricata la foto
                this.foto._alpha=100
                this.barra.removeMovieClip()
                delete this.onEnterFrame
              }
              this.barra._xscale=Math.round(car/tot*100)
         } 
    }; 
    carica("images/01.jpg");
    chiarito questo punto, se ti sposti sulla time line il mio consiglio è

    metti questo codice su un livello a se, spostati sulla frame dove c'è
    l'ultimo pulsante e premi F7. questo permetterà, quando chiamerai la funzione
    carica("images/mianonna.jpg) di trovare la function carrica allineata.

    ciao

  3. #3
    rempox, provo e ti faccio saxe.

  4. #4
    allora rempox con il tuo codice non mi carica la foto.
    xò ho provato a mettere il secondo fotogramma su un livello separato (dato che il mio era consecutivo al precedente sullo stesso livello), ma niente.
    se mi dai la mail ti mando il file e ci dai un occhio.
    grazie, rempox

  5. #5

  6. #6
    la mail è stata spedita.
    nel frattempo ho fatto altre prove, ma non ci sono mica riuscito.

  7. #7
    Aspetta un momento non è così che si fanno le foto gallery o le foto slide.

    Non puoi fare una frame per foto perche se devi aggiungere una foto
    che fai duplichi una intera frame e ricompili ??

    Allora iniziamo con il dire che

    1) il numero totale delle foto deve essere aggiornabile dall'esterno
    quindi tramite un linguaggio server side (asp, php) o più semplicemente magari da un TXT

    2) se il nome delle foto deve variare nel txt puoi scrivere anche questa informazione

    3) d carichi le variabili dall'esterno

    4) crei una funzione che viene richiamata dai pulsanti che vanno a caricare la foto sempre nello stesso clip, magari con un preload.

    quindi

    a) crea un txt "dati.txt" con i parametri:

    &id=1&path1=img/&nome=foto1.jpg&
    &id=2&path2=img/&nome=foto2.jpg&
    &id=3&path3=img/&nome=foto3.jpg&
    &id=4&path4=img/&nome=foto4.jpg&
    &id=5&path5=img/&nome=foto5.jpg&
    &id=6&path6=img/&nome=foto6.jpg&
    &tot=6&

    b) creati un clip istanza "box" che contiene a sua volta un clip "foto" delle dimensioni delle foto, e posizionalo sullo stage
    esempio 200 x 200


    c) crea una funzione di caricamento dati da mettere nella prima frame

    carica_dati = new LoadVars(){
    carica_dati.onLoad=function(success){
    if(success){
    if(tot>0){ // hai almeno una foto da far vedere
    trace(this.tot) // ti permette di visualizzare il numero 6
    // tutte le le variabili del TXT sono dentro
    // carica_dati
    // chiamo la funzione per il primo caricamento
    _level0.mostra_foto(1)

    }
    }
    }
    carica_dati.load("dati.txt")

    d) ti crei la funzione per mostrare le foto, chiamando la barra già
    preparata e linkata nella libreria con nome "barra"

    function mostra_foto(ID){
    _level0.box.attachMovie("barra","barra",2)
    _level0.box.barra._xscale=0
    _level0.box.barra._x = 100
    _level0.box.barra._y = 100
    percorso= _level0.carica_dati["path"+ID]
    pic = _level0.carica_dati["nome_foto"+ID]

    // aggiorno le variabili di info per utente
    // Foto N° ... di .... totali

    _level0.foto_attuale=ID
    _level0.foto_totali=_level0.carica_dati.tot

    _level0.box.foto.loadMovie(percorso+pic)
    _level0.box.foto._alpha=0
    _level0.box.onEnterFrame=function(){
    car=this.foto.getBytesLoaded()
    tot=this.foto.getBytesTotal()
    this.barra._xscale=Math.round(car/tot*100)
    if(car >1024 && car == tot){
    //foto caricata
    this.barra.removeMovieClip()
    this.foto._alpha=100
    delete this.onEnterFrame
    }
    }

    e) mi creo 2 clip pulsanti con istanza "avanti" e "dietro" e li posiziono sullo stage

    avanti.onPress=function(){
    if(_level0.foto_attuale<_level0.foto_totali){
    // chiamo la funzione
    _level0.mostra_foto(_level0.foto_attuale+1)
    }
    }

    dietro.onPress=function(){
    if(_level0.foto_attuale>1){
    // chiamo la funzione
    _level0.mostra_foto(_level0.foto_attuale-1)
    }
    }

    tutta questa roba deve essere copiata ed incollata sulla prima frame
    il filmato è composto da una sola frame
    tutti gli oggetti Clip "box", "avanti", "dietro" devono stare sullo stage della prima frame

    le variabili foto_attuale e foto_totali devono stare sullo stage della prima frame.

    Spero di non essermi dimenticato di nulla.

    Ciao

  8. #8

  9. #9

  10. #10
    è xfetto, rempox.
    solo una cosetta che non riesco a sistemare.
    la clip della barra del preload rimane visibile sullo stage anche dopo la fine del carimento dovrei eliminarla ma dove e che codice piazzo??

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 © 2024 vBulletin Solutions, Inc. All rights reserved.