Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    81

    Numerazione foto (1di6, 2di 6, ...)

    Salve
    vi spiego il mio problema. Ho questa galleria di immagini che al caricamento del filmato parte in automatico in slideshow (visualizza la prima foto caricata dinamicamente, dopo qualche secondo visualizza la seconda, ecc ecc)
    Poi ho quattro pulsanti, due mettono in pausa/play lo slideshow e due scorrono di una in una le foto (avanti e indietro, se l'utente non ha voglia di aspettare)

    Ora, io vorrei che in un campo di testo mi si visualizzasse il numero della foto visualizzata al momento, del tipo 3di6, 4di6, ecc ecc e ovviamente che questo cambiasse a seconda che ci sia lo slidewhow o venga cambiata la foto manualmente col pulsante.

    Ho provato a dare un occhiata al codice e alle variabili che mi servono ma non ho rimediato niente, non è che qualche buon'anima riesce a darmi una mano?

    Questo è il codice sul fotogramma:

    Codice PHP:
    direzione 0;
    // le immagini devono avere lo stesso nome nelle due cartelle
    // nelle icon dimensione 60x60
    this.pathToPics "gallerie/tavolucci/";
    // array con le foto nelle cartelle
    this.pArray = ["1.jpg""2.jpg""3.jpg""4.jpg""5.jpg""6.jpg"];
    this.fadeSpeed 8;
    this.pIndex 1;
    loadMovie(this.pathToPics+this.pArray[0], _root.photo);
    MovieClip.prototype.newPhoto = function(d) {
        
    direzione direzione-1;
        
    this.pIndex direzione;
        
    trace(direzione);
        if (
    this.pIndex<0) {
            
    this.pIndex += this.pArray.length;
        }
        
    this.onEnterFrame fadeOut;
    };
    MovieClip.prototype.changePhoto = function(d) {
        
    this.pIndex = (this.pIndex+d)%this.pArray.length;
        if (
    this.pIndex<0) {
            
    this.pIndex += this.pArray.length;
        }
        
    this.onEnterFrame fadeOut;
    };
    MovieClip.prototype.fadeOut = function() {
        if (
    this.photo._alpha>this.fadeSpeed) {
            
    this.photo._alpha -= this.fadeSpeed;
        } else {
            
    this.loadPhoto();
        }
    };
    MovieClip.prototype.loadPhoto = function() {
        var 
    _root.photo;
        
    p._alpha 0;
        
    p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
        
    this.onEnterFrame loadMeter;
    };
    MovieClip.prototype.loadMeter = function() {
        var 
    ilt;
        
    this.photo.getBytesLoaded();
        
    this.photo.getBytesTotal();
        if (
    t>&& == l) {
            
    this.onEnterFrame fadeIn;
        } else {
        }
    };
    MovieClip.prototype.fadeIn = function() {
        if (
    this.photo._alpha<100-this.fadeSpeed) {
            
    this.photo._alpha += this.fadeSpeed;
        } else {
            
    this.photo._alpha 100;
            
    this.onEnterFrame null;
        }
    };
    this.onKeyDown = function() {
        if (
    Key.getCode() == Key.LEFT) {
            
    this.changePhoto(-1);
        } else if (
    Key.getCode() == Key.RIGHT) {
            
    this.changePhoto(1);
        }
    };
    Key.addListener(this); 

    E questo è il codice sul movieclip "photo":

    Codice PHP:
    onClipEvent (load) {
        
    contatore 0;
        
    vai 0;
    }
    onClipEvent (enterFrame) {
        
    //contatore per l'autoplay
        
    if (vai == 0) {
            
    contatore contatore+1;
        }
        if (
    contatore>150) {
            
    _root.changePhoto(1);
            
    contatore 0;
        }
        
    // riscalatore e centratore di immagine e sfondo      
        
    this._x 238-(this._width/2);
        
    this._y 227-(this._height/2);
        if (
    this._width>4) {
            
    _root.sfondo._width this._width+2;
        }
        if (
    this._height>4) {
            
    _root.sfondo._height this._height+2;
        }
        
    _root.sfondo._x 238-(_root.sfondo._width/2)-1;
        
    _root.sfondo._y 227-(_root.sfondo._height/2)+1;
        
    _root.sfondo._width larghezza;


    Scusate la lunghezza del post...prima o poi imparerò anche ad inserire il codice correttamente!

    Grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182

    Re: Numerazione foto (1di6, 2di 6, ...)

    Originariamente inviato da Skin_mkr
    prima o poi imparerò anche ad inserire il codice correttamente!
    Meglio prima Ho modificato aggiungendo i tag [ php ] [ /php ] (vanno scritti senza spazi)

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    81

    Re: Re: Numerazione foto (1di6, 2di 6, ...)

    Originariamente inviato da and80
    Meglio prima Ho modificato aggiungendo i tag [ php ] [ /php ] (vanno scritti senza spazi)
    eh eh grazie mille. ci sono arrivato adesso, prima usavo il prompt che mi si apriva quando cliccavo sul pulsante PHP ma avevo difficoltà a copiare il codice...ma niente mi impedisce di scriverli a mano i Tag!

    Qualche suggerimento per il mio problemino?

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182

    Re: Re: Re: Numerazione foto (1di6, 2di 6, ...)

    Originariamente inviato da Skin_mkr
    Qualche suggerimento per il mio problemino?
    Dovrei vederlo posizionato nel filmato con gli elementi, perchè così non sto riuscendo a collegarlo alla tua situazione, o meglio mi pare di aver individuato quali variabili dovresti visualizzare nel tuo campo di testo, ma credo che manchi il codice collegato ai pulsanti di cui hai scritto, ed è lì che dovresti richiamare il codice per riempire il campo.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    81
    Praticamente sul primo fotogramma ho il codice scritto prima, mentre sullo stage ho:

    - il clip "photo" con associato sempre il codice scritto nel primo post

    - il pulsante "play" al quale sono associate queste azioni:

    Codice PHP:
    on (release) {
        
    photo.vai 0;
        
    _root.pausa._visible true;
        
    _root.play._visible false;

    - il pulsante "pausa" al quale sono associate queste azioni:

    Codice PHP:
    on (release) {
        
    photo.vai 1;
        
    _root.play._visible true;
        
    _root.pausa._visible false;

    - il pulsante per aumentare le foto di una:

    Codice PHP:
    on (release) {
        
    _root.changePhoto(1);
        
    _root.pausa._visible true;
        
    _root.play._visible false;

    - il pulsante per diminuire le foto di una:

    Codice PHP:
    on (release) {
        
    _root.changePhoto(-1);
        
    _root.pausa._visible true;
        
    _root.play._visible false;

    Si, tecnicamente la funzione che uso per visualizzare la foto corrente dopo devo richiamarla anche nei pulsanti...però è proprio la funzione il mio problema, non riesco a trovare le variabili che mi servono...o meglio non sono capace a trovarle.

    Però il codice adesso riesco a metterlo..è già qualcosa

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Originariamente inviato da Skin_mkr
    Però il codice adesso riesco a metterlo..è già qualcosa


    Vedo se riesco a ricostruirmi l'esempio e ti faccio sapere, intanto comunque ti dico che come variabile per il numero massimo di foto puoi usare la proprietà "length" dell'array pArray, mentre non ho ancora individuato la variabile utile a numerare la foto attuale.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    81
    Ti ringrazio, gentilissimo.
    Non so però se ricostruire da zero l'esempio possa funzionare perchè ho visto adesso che ci sono delle azioni annidate che non ho descritto prima, ma che cmq non sono fondamentali per quello che intendo fare io (almeno credo)..è una galleria che ho trovato in rete ed adattato ma era un pò incasinata.
    Ad ogni modo ho messo il file on-line, lo puoi trovare

    qui

    se ti può semplificare le cose e se hai voglia di guardarci, ovvio.

    Io intanto provo a spataccare col Lenght

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Ho già fatto, basta modificare solo il codice del frame in questo modo, tenendo presente che ho creato sullo stage un campo di testo con nome di istanza "contatore" (Test fatto con FP7+AS1)

    Codice PHP:
    direzione 0;
    // le immagini devono avere lo stesso nome nelle due cartelle
    // nelle icon dimensione 60x60
    this.pathToPics "gallerie/tavolucci/";
    // array con le foto nelle cartelle
    this.pArray = ["1.jpg""2.jpg""3.jpg""4.jpg""5.jpg""6.jpg"];
    this.fadeSpeed 8;
    this.pIndex 1;
    loadMovie(this.pathToPics+this.pArray[0], _root.photo);
    contatore.text this.pIndex+"di"+this.pArray.length;
    MovieClip.prototype.newPhoto = function(d) {
        
    direzione direzione-1;
        
    this.pIndex direzione;
        
    trace(direzione);
        if (
    this.pIndex<0) {
            
    this.pIndex += this.pArray.length;
        }
        
    this.onEnterFrame fadeOut;
    };
    MovieClip.prototype.changePhoto = function(d) {
        
    this.pIndex = (this.pIndex+d)%this.pArray.length;
        if (
    this.pIndex<0) {
            
    this.pIndex += this.pArray.length;
        }
        
    this.onEnterFrame fadeOut;
    };
    MovieClip.prototype.fadeOut = function() {
        if (
    this.photo._alpha>this.fadeSpeed) {
            
    this.photo._alpha -= this.fadeSpeed;
        } else {
            
    this.loadPhoto();
        }
    };
    MovieClip.prototype.loadPhoto = function() {
        var 
    _root.photo;
        
    p._alpha 0;
        
    p.loadMovie(this.pathToPics+this.pArray[this.pIndex]);
        
    contatore.text this.pIndex+"di"+this.pArray.length;
        if (
    this.pIndex == 0) {
            
    contatore.text this.pArray.length+"di"+this.pArray.length;
        }
        
    this.onEnterFrame loadMeter;
    };
    MovieClip.prototype.loadMeter = function() {
        var 
    ilt;
        
    this.photo.getBytesLoaded();
        
    this.photo.getBytesTotal();
        if (
    t>&& == l) {
            
    this.onEnterFrame fadeIn;
        } else {
        }
    };
    MovieClip.prototype.fadeIn = function() {
        if (
    this.photo._alpha<100-this.fadeSpeed) {
            
    this.photo._alpha += this.fadeSpeed;
        } else {
            
    this.photo._alpha 100;
            
    this.onEnterFrame null;
        }
    };
    this.onKeyDown = function() {
        if (
    Key.getCode() == Key.LEFT) {
            
    this.changePhoto(-1);
        } else if (
    Key.getCode() == Key.RIGHT) {
            
    this.changePhoto(1);
        }
    };
    Key.addListener(this); 

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    81
    Stavo già per esultare!
    La prima foto è corretta, viene visualizzato 1di6, poi però mi salta a piedi pari la seconda foto e si visualizza la terza con la scritta 2di6 e via dicendo. Arrivato a 5di6 (che sarebbe poi l'ultima, in quanto la seconda se l'è mangiata) riparte correttamente dalla prima (visualizzando bene anche la seconda)..però questa volta c'è scritto 0di6, 1di6, ecc ecc

    Ho notato che cambiando la variabile
    Codice PHP:
    this.pIndex 0
    non mi si pone il primo problema (quello della foto scomparsa)...ma rimane sempre il fatto che parte da 0di6 maledizione!

    Oh, grazie cmq per il supporto, sono già messo meglio rispetto a prima!

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    E' una cosa che non ho verificato con attenzione perchè ho usato un set di foto con lo stesso soggetto, ma non dovrebbe esserci nessun salto, considerato che la numerazione nel codice non può saltare di 2.
    Riguardo al problema dello 0, ho modificato il codice per evitarlo, ma magari tu hai copiato quello precedente alla modifica, perchè comunque l'ho testato e non ottengo mai 0di6 neanche stressandolo.

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.