Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    57

    Creazione striscia di immagini

    Ciao.
    Sono in difficolta' con la creazione di una striscia di immagini in un movieclip chiamato barra. Inoltre vorrei che cliccando su una immagine, essa venga aperta in un altro movieclip, chiamato my_mc.
    Il codice che usavo e' questo:
    codice:
    function creathumb(){
    	for (q=0; q<=image.length; q++){
    		barra.createEmptyMovieClip(image[q],0);
    		barra.image[++count].loadMovie("thumbs/"+image[q]);
    		//cambia la x della miniatura
    		barra.image[++count]._x=(q*75)+3;
    		image[q].onRelease = function () {
      			my_mc.loadMovie("images/"+image[q]);
    			};
    	}
    }
    ma non funziona. :master:
    I nomi delle immagini sono memorizzati nell'array image e sono uguali anche per le miniature: cambia solo la cartella.
    Penso d'aver problemi con il ciclo for e il richiamo del nome dall'array...

    Grazie per l'aiuto.
    Ciao,
    Ste.

  2. #2
    dalla Guida di Flash-MX...
    MovieClip.createEmptyMovieClip
    Uso

    myMovieClip.createEmptyMovieClip (nomeIstanza, profondità)

    Parametro

    nomeIstanza Stringa che identifica il nome istanza di un nuovo clip filmato.

    profondità Numero intero che specifica la profondità del nuovo clip filmato.

    Ciò premesso, ti evidenzio quello che NON va nel tuo codice...
    codice:
    function creathumb(){
        for (q=0; q<=image.length; q++){
    	barra.createEmptyMovieClip(image[q],0);
    	barra.image[++count].loadMovie("thumbs/"+image[q]);
    	//cambia la x della miniatura
    	barra.image[++count]._x=(q*75)+3;
    	image[q].onRelease = function () {
      		my_mc.loadMovie("images/"+image[q]);
    		};
       }
    }
    allora, la prima volta (quando crei il movieclip vuoto) usi image[q] come nome istanza
    poi image[++count]

    Non vedo perché due identificatori diversi, in più, quando crei il clip vuoto, devi fornire una stringa e NON un riferimento, per cui:
    barra.createEmptyMovieClip("image" + q,0);

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    57
    Originariamente inviato da pasavign
    allora, la prima volta (quando crei il movieclip vuoto) usi image[q] come nome istanza
    poi image[++count]
    E' un errore dovuto a varie prove...


    Non vedo perché due identificatori diversi, in più, quando crei il clip vuoto, devi fornire una stringa e NON un riferimento, per cui:
    barra.createEmptyMovieClip("image" + q,0);
    Ok...

    Ma purtroppo ancora non funziona...
    :master:

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    57
    Ho cambiato un po' lo script, pero' ancora non riesco a farlo cambiare dinamicamente. Lo script che funziona e' questo:
    codice:
    function creathumb(){
    		barra.icona.miniatura.loadMovie("thumbs/"+image[1]);
    		//cambia la x della miniatura
    		barra.icona._x=(1*75)+3;
    		//al click sulla miniatura apre l'immagine in my_mc
    		barra.icona.onRelease = function () {
      			my_mc.loadMovie("images/"+image[1]);
    			count=1;
    			};
    }
    Allora:
    barra=contenitore di tutte le miniature;
    icona=e' un pulsante che contiene la miniatura;
    miniatura= clip dinamico in cui bisogna caricare l'immagine;
    image=l'array con le immagini.

    Ora dovrei mettere il ciclo for per ripetere la creazione delle immagini e il comando duplicateMovieClip, ma non riesco a farlo funzionare :master: ...mi aiutate per favore?

    Grazie!

  5. #5
    codice:
    function creathumb(){
       for (q=0; q<=image.length; q++){
            min = "miniatura"+q;
    	barra.createEmptyMovieClip(min,0);
    	barra[min].loadMovie("thumbs/"+image[q]);
    	// qui bisogna inserire un preloading
    	// perché il caricamento NON è immadiato
    	// e fintantoché NON è completato
    	// le istruzioni seguenti vengono IGNORATE
    	//
    	//cambia la x della miniatura
    	barra[min]._x=(q*75)+3;
    	barra[min].onRelease = function () {
      		my_mc.loadMovie("images/"+image[q]);
    		};
       }
    }

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    57
    Grazie ancora, ma forse sono proprio negato (molto probabile) e non mi funziona.
    Ho fatto cosi':
    codice:
    function creathumb(){
       for (q=0; q<=image.length; q++){
            min = "miniatura"+q;
    		barra.createEmptyMovieClip(min,0);
    		barra[min].loadMovie("thumbs/"+image[q]);
    		preload_thumb = function () {
    			if (barra[min].getBytesLoaded() == barra[min].getBytesTotal()) {
    			//cambia la x della miniatura
    				barra[min]._x=(q*75)+3;
    				barra[min].onRelease = function () {
      				my_mc.loadMovie("images/"+image[q]);
    					};
       			}clearInterval(preload_thumbID);
    	};
    	preload_thumbID = setInterval(preload_thumb, 1000);
       }
    }
    Non appare nulla...

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    57
    Ho fatto passi in avanti...
    codice:
    function creathumb(){
    	for (q=0; q<image.length-1; q++){
    		ico="icona"+q;
    		barra.icona.duplicateMovieClip("ico",0);
    		barra.ico.miniatura.loadMovie("thumbs/"+image[q+1]);
    		//cambia la x della miniatura
    		barra.ico._x=(q*75)+3;
    		//al click sulla miniatura apre l'immagine in my_mc
    		barra.ico.onRelease = function () {
      			my_mc.loadMovie("images/"+image[q]);
    			count=q;
    			};
    	}
    }
    Con questo funziona, pero' mi appare solo l'ultima icona.
    Come mai? :master:

  8. #8
    mettendo il nome tra "apici"
    barra.icona.duplicateMovieClip("ico",0);
    attribuisce a tutti i duplicati il nome istanza ico
    se metti ico (senza apici) gli attribuirà, volta per volta, un nome diverso.

    naturalmente tutti i riferimenti seguenti dovranno essere scritti in questo modo:
    barra[ico]....

  9. #9
    non sono esperto di programmazione, ma se vuoi una gallery simile da modificare questa é molto semplice: xmlphoto

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    57
    @pasavign: grazie ma si vede ancora solo l'ultima...

    @marcello74: grazie, ora me la studio.


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.