Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 27
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    56

    Come posso realizzare uno slideshow..

    Come quello del sito della bacardi?
    Mi spiego meglio.. riesco a caricare le immagini dal file xml, riesco a creare N movieclip con le immagini ma il mio problema rimane quando devo gestire gli eventi del movieclip come se fosse un bottone.
    Sulla guida ho visto che i movieclip hanno la proprietà "focusEnabled" che se impostata a true può gestire alcuni eventi tipo onRollOver e onRollOut.
    Il problema è che non li gestisce.
    Quale potrebbe essere questo problema?
    Considerate che è praticamente la prima volta che lavoro in AS.
    Grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    lascia perdere il focusEnabled, è impostato a true di default e non te ne devi preoccupare...
    per richiamare gli eventi su di un MovieClip, come se fosse un pulsante fai in questo modo

    MovieClip.onRelease = function(){
    // azioni
    }

    al posto di MovieClip ci inserisci il nome di istanza del clip

    NB. se stai dando le azioni direttamente al clip che carica la foto, hai un problema di caricamento, infatti al momento in cui richiami il loadMovie, vengono eliminate tutte le azioni collegate al clip, e per reinserirgliele devi aspettare che l'immagine esterna sia completamente caricata, cosa che puoi verificare solo con un preload

  3. #3

    Re: Come posso realizzare uno slideshow..

    Originariamente inviato da djinn00
    Come quello del sito della bacardi?
    Mi spiego meglio.. riesco a caricare le immagini dal file xml, riesco a creare N movieclip con le immagini ma il mio problema rimane quando devo gestire gli eventi del movieclip come se fosse un bottone.
    Sulla guida ho visto che i movieclip hanno la proprietà "focusEnabled" che se impostata a true può gestire alcuni eventi tipo onRollOver e onRollOut.
    Il problema è che non li gestisce.
    Quale potrebbe essere questo problema?
    Considerate che è praticamente la prima volta che lavoro in AS.
    Grazie
    se li crei dinamicamente
    sarà una cosa tipo

    da
    istanzatuoclipdinamico.onRelease=function(){
    //tua azione
    }

    quindi
    _root["istanzatuoclipdinamico"+i].onRelease=function(){
    //tua azione
    }
    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 !

  4. #4
    mi bruci sempre sul tempo

    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
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    56
    Ok, più o meno ho capito cosa intendete dire e più o meno è come l'avevo già fatto io.
    Solo che nel mio codice, prima faccio un loadMovie e poi gestisco gli eventi.
    Mi sta venendo il dubbio che non vengano riconosciuti gli eventi proprio perchè non siano ancora stati caricati i vari movieclip.
    Come posso fare?
    Io sono abituato a lavorare in javascript e lì basterebbe un window.onload per essere sicuri che gli eventi vengano gestiti in seguito al caricamento della pagina.
    Ma in flash come si fa?
    Grazie ancora

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    al posto tuo non mi complicherei la vita più di tanto, ti basterebbe nidificare all'interno del tuo clip un altro clip vuoto a cui dare il compito di caricare l'immagine, e al clip principale applicare normalmente le azioni senza preoccuparti del caricamento

    un esempio spicciolo:

    var mc = this.createEmptyMovieClip("mc", 1);
    mc.createEmptyMovieClip("foto", 1);
    mc.foto.loadMovie("image.jpg");
    mc.onRelease = function(){
    // azioni
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    56
    Ho provato come hai detto, ma niente.
    Questo è il codice che utilizzo.
    Dovete considerare che il tutto è posto all'interno di un movieclip precedentemente creato (denominato "contenitore").


    for (i=0; i<total; i++) {
    i3=i;
    image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
    widths[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
    var container:MovieClip=contenitore.createEmptyMovieCl ip("image"+i+i2,i2);
    container._x=totWidth;
    container._y=40;
    trace(container);
    container.loadMovie(image[i]);
    container.onPress=function(){
    trace("press");
    }
    container.onRollOver=function(){
    trace("over");
    }
    mc.onRollOut=function(){
    trace("out");
    }

    totWidth=totWidth+parseInt(widths[i]);
    if((i==total-1)&&(totWidth<=maxWidth)){
    i=-1;
    }

    i2++;
    }

    Cosa sto sbagliando?
    Grazie

  8. #8
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non è esattamente come ti ho suggerito... io ti ho suggerito così

    codice:
    for (i=0; i<total; i++) {
    	i3=i;
    	image[i] = xmlNode.childNodes[i].childNodes[0].firstChild.nodeValue;
    	widths[i] = xmlNode.childNodes[i].childNodes[1].firstChild.nodeValue;
    	var container:MovieClip= contenitore.createEmptyMovieClip("image"+i+i2,i2);
    	container._x=totWidth;
    	container._y=40;
    	trace(container);
    	// container.loadMovie(image[i]);
    	container.createEmptyMovieClip("foto", 1);
    	container.foto.loadMovie(image[i]);
    	container.onPress=function(){
    		trace("press");
    	}
    	container.onRollOver=function(){
    		trace("over");
    	}
    	container.onRollOut=function(){
    		trace("out");
    	}
    	totWidth=totWidth+parseInt(widths[i]);
    	if((i==total-1)&&(totWidth<=maxWidth)){
    		i=-1;
    	}
    	i2++;
    }

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2005
    Messaggi
    56
    wow.
    Funziona!
    Però ora devi spiegarmi perchè così funziona mentre nell'altro caso no.
    2)
    Qui basterebbe solo un link per rispondermi, come faccio a :
    - effettuare uno slide temporizzato?
    - fare in modo che il contenitore generale abbia un overflow hidden (cioè, quello ke va oltre i bordi venga tagliato)?

    Grazie mille per la pazienza e l'aiuto

  10. #10
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    >> Però ora devi spiegarmi perchè così funziona mentre nell'altro caso no.

    leggi meglio il mio post precedente a quello con il codice, l'ho già scritto lì



    >> effettuare uno slide temporizzato?

    dipende, di slideshow se ne possono fare di tanti tipi... se leggi nella mia firma ad esempio ce n'è uno temporizzato ma non lavora con XML

    sulla stessa base di quel codice invece ne ho fatto uno proprio con XML e postato qui sul forum in una discussione... se ritrovo il link lo posto subito...


    >> fare in modo che il contenitore generale abbia un overflow hidden (cioè, quello ke va oltre i
    >> bordi venga tagliato)?

    su questa seconda domanda non ti seguo, puoi postare una o due immagini di esempio? tanto per capire cos intendi

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.