Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    tasto carica foto in progressione

    devo fare un tasto che a ogni click carica una foto in progressione:
    foto_1.jpg
    foto_2.jpg
    foto_3.jpg
    ecc...

    per adesso l'ho impostato così:

    num=0

    on(press){
    num=num+1;
    loadMovieNum("foto_"+num+".jpg", 1)
    }

    solo che quando le foto sono finite (mettiamo che siano solo 3) la variabile num=num+1 non dovrebbe scattare, dato che poi c'è un altro tasto per andare indietro a cui ho assegnato

    on(press){
    num=num-1;
    loadMovieNum("foto_"+num+".jpg", 1)
    }

    quindi se io vado oltre i 3 click poi per andare indietro ci saranno dei click a vuoto prima di tornare al 3....

    Come faccio?
    Come faccio a dirgli che il contatore deve avanzare solo se c'è effettivamente la foto da caricare?
    Oppure a dirgli che se il numero della foto caricata non corrisponde al numero dei click fatti il contatore non deve avanzare??

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Puoi utilizzare delle condizioni..
    Però ti consiglierei di non inserire lo script direttamente sui pulsanti, ma piuttosto istanziarli e utilizzare gli appositi eventi che scriverai sui frame della tl principale.

    Puoi fare quindi una cosa del genere..
    Innanzitutto elimina lo script dai pulsanti e istanziali rispettivamente: "p_indietro" e "p_avanti"
    Quindi inserisci, su un frame, il seguente script:

    Codice PHP:
    // specifico il totale delle immagini da caricare
    var tot 3;
    // inizializzo il contatore
    var num 0;
    // al clik sul pulsante avanti
    p_avanti.onRelease = function() {
        
    // se num+1 non ha ancora raggiunto il valore tot
        
    if (num+1<=tot) {
            
    // incremento num 
            
    num++;
            
    // richiamo la funzione di caricamento
            
    caricafoto();
        }
    };
    // al clik sul pulsante indietro
    p_indietro.onRelease = function() {
        
    // se num-1 non ha ancora raggiunto il valore 1
        
    if (num-1>=1) {
            
    // decremento num 
            
    num--;
            
    // richiamo la funzione di caricamento
            
    caricafoto();
        }
    };
    // funzione di caricamento
    function caricafoto() {
        
    loadMovieNum("foto_"+num+".jpg"1);

    Tieni conto che in questo caso devi conoscere a priori il totale delle immagini che vuoi caricare e specificarlo nella variabile tot.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    ma il problema è proprio che io vorrei trovare uno script che vada sempre bene, anche quando il numero di foto cambia.....quindi non posso scrivere var tot = 3.

    Ti spiego meglio: praticamente è un sito dove si vedono vari prodotti e per ogni prodotto c'è una scheda tecnica (che sarebbe un mc caricato dalla libreria) sulla quale ci sono questi tastini < e > per scorrere le foto. Il numero di foto può variare da 1 a 3-4 a seconda del prodotto....e io volevo fare uno script unico sulla root da richiamare poi dai tastini di ciascuna scheda.

    Ma temo che non sia possibile, vero?

  4. #4
    beh potresti usare un file esterno ...tipo txt x specificare ad es che il prodotto 1 ha 6 foto quindi nel txt metteresti queste variabili ed usare successivamente lo script di killerWorm
    nelle schede ovviamente inviando ad esso di volta in volta la var tot letta dal txt x quel prodotto....e quindi sapresti quanto vale la var tot e le modifiche le faresti a questo punto al txt se ci fossero variazioni

    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    ma il problema è proprio che io vorrei trovare uno script che vada sempre bene, anche quando il numero di foto cambia.....quindi non posso scrivere var tot = 3.
    Non avevo capito.. pensavo il problema fosse solo quello di limitare l'incremento.

    Come indicato da crescenzo, puoi utilizzare il metodo del file txt contenente il totale delle immagini da caricare, e di conseguenza aggiornare di volta in volta solo questo file.

    Esiste però un'ulteriore possibilità che esclude l'obbligo di fissare un "limite" a priori.

    Normalmente con flash non si può esplorare il contenuto di una cartella per sapere quali file essa contiene, così come invece si può fare con un linguaggio server-side.
    Infatti si potrebbe integrare un qualsiasi script server-side che interagisca col nostro filmato per sapere quali file caricare.

    ..ma c'è una "scorciatoia" che esclude l'utilizzo di apporti esterni, lavorando quindi solo in flash: l'evento onLoadError della classe MovieClipLoader.
    Questo evento si verifica quando il caricamento di un determinato file genera un errore.

    Se facciamo 2 + 2.. avendo i file indicizzati (con un valore sequenziale nei nomi) si può appunto utilizzare tale evento per determinare quando un file "non esiste" e stabilire quindi il limite da non superare.

    Ricordo di aver letto qualche articolo che però non ritrovo..
    Al momento ho trovato il seguente link in cui viene descritta la realizzazione di uno slide adoperando appunto questo metodo: http://www.v2online.it/articoli/slideshow.html

    Ovviamente andrà poi adeguato al tuo lavoro.. intanto può essere uno spunto.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Interessante....
    Questo onLoadError sembra fare al caso mio...vedrò di studiarmelo un po' e vedere cosa riesco a fare!!
    Per ora grazie...ma credo che ti chiederò ancora qualche delucidazione!

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.