80 likes | 257 Vues
Animazioni con le immagini. Mettere assieme cambio di src, linea temporale, e posizionamento per una prima animazione con le immagini. L’attributo SRC di IMG. L’elemento HTML per le immagini visualizza nella pagina l’immagine individuata dal file indicato con l’attributo src.
E N D
Animazioni con le immagini Mettere assieme cambio di src, linea temporale, e posizionamento per una prima animazione con le immagini
L’attributo SRC di IMG • L’elemento HTML per le immagini visualizza nella pagina l’immagine individuata dal file indicato con l’attributo src. • Esempio<IMG SRC="duke/duke1.gif">visualizza l’immagine duke1.gif contenuta nella cartella duke.
Cambiare SRC con JavaScript • Tramite JavaScript è possibile cambiare dinamicamente (cioè anche dopo il caricamento della pagina) il file linkato dall’attributo SRC di un elemento IMG.Il browser automaticamente visualizzerà l’immagine del nuovo file • Occorre innanzitutto identificare l’immagine con un nome ID. <IMG ID="myimg" SRC="duke/duke1.gif"> • Le istruzioni JS sono quindi le seguenti:var x=document.getElementById("myimg");x.src = "duke/duke2.gif"; • La prima istruzione rileva l’elemento HTML e la seconda sostituisce l’immagine duke1.gif con quella duke2.gif
Cambiare nel tempo • Il cambio di file immagine non produce nessun effetto, perché questo viene fatto al caricamento della pagina e non viene neppure percepito, perché immediato. • Con l’aggiunta di una linea temporale, il cambio di immagine può essere ritardato e quindi visualizzato var x=document.getElementById("myimg"); function cambia() { x.src = "duke/duke2.gif"; } setInterval("cambia()",1000); // cambia dopo 1 secondo
Cambiare ripetutamente nel tempo • Se il cambio del file viene fatto ripetutamente, allora si ha una animazione. • Per alternare l’immagine, usiamo una variabile intera alla quale diamo alternativamente valore 1 e 2. n=1; var x=document.getElementById("myimg"); function cambia() { if (n==1) x.src = "duke/duke2.gif"; else x.src = "duke/duke1.gif"; n++; if (n>2) n=1; // deve alternare 1 e 2 } setInterval("cambia()",500); // cambia dopo 1/2 secondo
Alternare più immagini • Per avere una animazione più realistica, occorre alternare più immagini che differiscono di poco. • Utilizzare tutte e quattro immagini date di duke per ottenere l’animazione completa • Nello script vanno aggiunti degli else ifva cambiato quando riportare a 1 il valore di n Visualizzata per n=1 n=2 n=3 n=4
Aggiungere il movimento • Oltre che cambiare il file immagine, è possibile muovere l’immagine nella pagina, usando il posizionamento HTML e le proprietà left e top di JavaScript. • Dal momento che è possibile utilizzare più linee temporali, è possibile usare un altro setInterval per muovere l’immagine. • E’ possibile gestire quindi in modo indipendente le due animazioni, che verranno a sovrapporsi.
Aggiungere il movimento • Aggiungere il posizionamento nell’elemento IMG • <IMG ID="myimg" SRC="duke/duke1.gif" style="position:absolute; top: 200; left: 0"> • Aggiungere nello script precedente la funzione per il movimento ed il timer per esso • function muovi_a_destra() { • x.style.left = parseInt(x.style.left) + 20; } • setInterval("muovi_a_destra()",200);